|
|
@@ -159,6 +159,41 @@ public class MessageServiceImpl implements MessageService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Message readMessage(String consumer) {
|
|
|
+ if (StringUtils.isEmpty(consumer)) {
|
|
|
+ throw new ParameterMissingException("接收人信息为空,无法阅读消息");
|
|
|
+ }
|
|
|
+
|
|
|
+ JSONObject jsonObject = FastjsonUtils.parseObject(consumer);
|
|
|
+
|
|
|
+ // 消息id
|
|
|
+ Object messageId = jsonObject.get("messageId");
|
|
|
+ Object receiverUu = jsonObject.get("receiverUu");
|
|
|
+ Object receiverEnuu = jsonObject.get("receiverEnuu");
|
|
|
+ if (StringUtils.isEmpty(messageId)) {
|
|
|
+ throw new ParameterMissingException("消息id为空,请重新确认消息信息");
|
|
|
+ } else {
|
|
|
+ Message message = messageDao.findOne(Long.valueOf(String.valueOf(messageId)));
|
|
|
+ if (message == null) {
|
|
|
+ throw new IllegalOperatorException("消息不存在,请重新确认消息信息");
|
|
|
+ }
|
|
|
+ if (receiverUu == null || StringUtils.isEmpty(String.valueOf(receiverEnuu)) || receiverEnuu == null
|
|
|
+ || StringUtils.isEmpty(String.valueOf(receiverUu))) {
|
|
|
+ throw new ParameterMissingException("用户信息为空,无法读取消息");
|
|
|
+ }
|
|
|
+ if (!Long.valueOf(String.valueOf(receiverEnuu)).equals(message.getReceiverEnuu())
|
|
|
+ || !Long.valueOf(String.valueOf(receiverUu)).equals(message.getReceiverUu())) {
|
|
|
+ throw new IllegalOperatorException("此消息不属于当前用户,请重新确认后读取");
|
|
|
+ }
|
|
|
+ if (Constant.YES.equals(message.getIsRead())) {
|
|
|
+ throw new IllegalOperatorException("消息已阅读");
|
|
|
+ }
|
|
|
+ message.setIsRead(Constant.YES);
|
|
|
+ return messageDao.save(message);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* jsonObject转换为Message
|
|
|
* @param jsonObjects jsonObjects
|