|
|
@@ -414,21 +414,36 @@ public class MessageServiceImpl implements MessageService {
|
|
|
message.getReceiverEnuu());
|
|
|
if (receiver.getName() != null) {
|
|
|
logger.info("接收人:" + receiver.getName());
|
|
|
- message.setReceiver(FastjsonUtils.toJson(receiver));
|
|
|
- // 发送邮件
|
|
|
-// if (message.getSmsType().contains(SMSType.MAIL)) {
|
|
|
-// sendMail(message, receiver);
|
|
|
-// }
|
|
|
-
|
|
|
- // 发送短息
|
|
|
- if (message.getSmsType().contains(SMSType.SM)) {
|
|
|
- logger.info("发短信");
|
|
|
- sendSM(message, receiver);
|
|
|
- }
|
|
|
|
|
|
- // 发送IM
|
|
|
- if (message.getSmsType().contains(SMSType.IM)) {
|
|
|
- sendIM(message, receiver, consumerApp);
|
|
|
+ UserView sender = AccountUtils.getImUserByUserUU(message.getSenderUu(),
|
|
|
+ message.getSenderEnuu());
|
|
|
+ if (sender != null && sender.getName() != null && sender.getSpaceName() != null) {
|
|
|
+ logger.info("发送人:" + sender.getName());
|
|
|
+
|
|
|
+ boolean sendSuccess = false;
|
|
|
+ // 发送邮件
|
|
|
+// if (message.getSmsType().contains(SMSType.MAIL)) {
|
|
|
+// sendMail(message, receiver);
|
|
|
+// }
|
|
|
+
|
|
|
+ // 发送短息
|
|
|
+ if (message.getSmsType().contains(SMSType.SM)) {
|
|
|
+ logger.info("开始推送短信");
|
|
|
+ sendSuccess = sendSM(message, receiver, sender);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 发送IM
|
|
|
+ if (message.getSmsType().contains(SMSType.IM)) {
|
|
|
+ logger.info("开始推送IM");
|
|
|
+ sendSuccess = sendIM(message, receiver, consumerApp);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 推送成功
|
|
|
+ if (sendSuccess) {
|
|
|
+ pushSuccess(message, receiver, sender);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ logger.info("发送人信息为空,uu:" + message.getSenderUu() + ",enuu:" + message.getSenderEnuu());
|
|
|
}
|
|
|
} else {
|
|
|
logger.info("接收人姓名为空,uu:" + message.getReceiverUu() + ",enuu:" + message.getReceiverEnuu());
|
|
|
@@ -475,44 +490,41 @@ public class MessageServiceImpl implements MessageService {
|
|
|
* 发送短信
|
|
|
* @param message 消息
|
|
|
* @param receiver 接收人
|
|
|
+ * @param sender 发送人
|
|
|
+ * @return 推送成功状态
|
|
|
*/
|
|
|
- private void sendSM(Message message, UserView receiver) {
|
|
|
+ private boolean sendSM(Message message, UserView receiver, UserView sender) {
|
|
|
if (!StringUtils.isEmpty(message.getSmTemplate()) && !StringUtils.isEmpty(receiver.getUid())) {
|
|
|
- logger.info("验证通过");
|
|
|
try {
|
|
|
SmsMessage sms = new SmsMessage();
|
|
|
List<Object> obj = new ArrayList<Object>();
|
|
|
|
|
|
- UserView sender = AccountUtils.getImUserByUserUU(message.getSenderUu(), message.getSenderEnuu());
|
|
|
-
|
|
|
- if (sender != null && sender.getName() != null && sender.getSpaceName() != null) {
|
|
|
- logger.info("发送人:" + sender.getName());
|
|
|
- switch (message.getSmTemplate()) {
|
|
|
- // 公共询价单,普通短信
|
|
|
- case "e14d502a-25b8-40a0-8acf-5c61ae38d763" :
|
|
|
- obj.add(receiver.getName());
|
|
|
- obj.add(sender.getSpaceName());
|
|
|
- obj.add(message.getRemark());
|
|
|
- pushSm(sms, message, obj, receiver, sender);
|
|
|
- break;
|
|
|
- // 公共询价单,UU互联
|
|
|
- case "6e094dcf-f2c7-462a-9686-b2d32d684a78" :
|
|
|
- obj.add(message.getSourceId());
|
|
|
- obj.add(message.getReceiverEnuu());
|
|
|
- obj.add(receiver.getUid());
|
|
|
- pushSm(sms, message, obj, receiver, sender);
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- } else {
|
|
|
- logger.info("发送人信息为空,uu:" + message.getSenderUu() + ",enuu:" + message.getSenderEnuu());
|
|
|
+ switch (message.getSmTemplate()) {
|
|
|
+ // 公共询价单,普通短信
|
|
|
+ case "e14d502a-25b8-40a0-8acf-5c61ae38d763" :
|
|
|
+ obj.add(receiver.getName());
|
|
|
+ obj.add(sender.getSpaceName());
|
|
|
+ obj.add(message.getRemark());
|
|
|
+ pushSm(sms, message, obj, receiver, sender);
|
|
|
+ break;
|
|
|
+ // 公共询价单,UU互联
|
|
|
+ case "6e094dcf-f2c7-462a-9686-b2d32d684a78" :
|
|
|
+ obj.add(message.getSourceId());
|
|
|
+ obj.add(message.getReceiverEnuu());
|
|
|
+ obj.add(receiver.getUid());
|
|
|
+ pushSm(sms, message, obj, receiver, sender);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
}
|
|
|
+ return true;
|
|
|
} catch (Exception e) {
|
|
|
- logger.info("发送短信异常:" + e.getMessage());
|
|
|
+ logger.info("短信推送异常:" + e.getMessage());
|
|
|
e.printStackTrace();
|
|
|
+ return false;
|
|
|
}
|
|
|
}
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -529,8 +541,18 @@ public class MessageServiceImpl implements MessageService {
|
|
|
sms.setTemplateId(message.getSmTemplate());
|
|
|
String response = com.uas.ps.message.util.HttpUtil
|
|
|
.sendPost(messageUrl, FastjsonUtils.toJson(sms));
|
|
|
- logger.info("发送短信:" + response);
|
|
|
+ logger.info("短信推送成功:" + response);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 设置推送送成功
|
|
|
+ * @param message 消息
|
|
|
+ * @param receiver 接收人
|
|
|
+ * @param sender 发送人
|
|
|
+ */
|
|
|
+ private void pushSuccess(Message message, UserView receiver, UserView sender) {
|
|
|
message.setIsSent(Constant.YES);
|
|
|
+ message.setReceiver(FastjsonUtils.toJson(receiver));
|
|
|
message.setSender(FastjsonUtils.toJson(sender));
|
|
|
}
|
|
|
|
|
|
@@ -539,8 +561,9 @@ public class MessageServiceImpl implements MessageService {
|
|
|
* @param message 消息
|
|
|
* @param receiver 接收人
|
|
|
* @param consumerApp 消费app
|
|
|
+ * @return 推送成功状态
|
|
|
*/
|
|
|
- private void sendIM(Message message, UserView receiver, String consumerApp) {
|
|
|
+ private boolean sendIM(Message message, UserView receiver, String consumerApp) {
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
if (!StringUtils.isEmpty(receiver.getDialectUID())) {
|
|
|
params.put("master", receiver.getSpaceName()); // 账套 公司名称
|
|
|
@@ -549,17 +572,23 @@ public class MessageServiceImpl implements MessageService {
|
|
|
params.put("content", message.getContent()); // 正文
|
|
|
params.put("enUU", message.getReceiverEnuu()); // UU号
|
|
|
params.put("masterId", null);
|
|
|
- params.put("url", String.format(PUBLIC_INQUIRY_IM_URL, message.getSourceId(), message.getReceiverEnuu(), receiver.getUid())); // 跳转链接地址
|
|
|
+ params.put("url", String.format(PUBLIC_INQUIRY_IM_URL, message.getSourceId(),
|
|
|
+ message.getReceiverEnuu(), receiver.getUid())); // 跳转链接地址
|
|
|
params.put("pageTitle", message.getType() == null ? "" : message.getType());
|
|
|
params.put("platform", "B2B"); // 系统名称,ERP或B2B
|
|
|
try {
|
|
|
ResponseWrap res = HttpUtil.doPost(PROD_URL, params);
|
|
|
- if (!res.isSuccess()) {
|
|
|
- throw new Exception(res.getContent());
|
|
|
+ if (res.isSuccess()) {
|
|
|
+ logger.info("IM推送成功");
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ logger.info("IM推送失败:" + res.getContent());
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
+ return false;
|
|
|
}
|
|
|
}
|
|
|
+ return false;
|
|
|
}
|
|
|
}
|