✨ 消息中心-一键标记已读功能
This commit is contained in:
parent
843b8b723a
commit
930dca3b59
@ -51,4 +51,11 @@ public interface NotificationMapper extends Mapper<Notification> {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Integer readNotification(@Param("id") Integer id);
|
Integer readNotification(@Param("id") Integer id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标记所有消息已读
|
||||||
|
* @param idUser
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Integer readAllNotification(@Param("idUser") Integer idUser);
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package com.rymcu.forest.service;
|
|||||||
import com.rymcu.forest.core.service.Service;
|
import com.rymcu.forest.core.service.Service;
|
||||||
import com.rymcu.forest.dto.NotificationDTO;
|
import com.rymcu.forest.dto.NotificationDTO;
|
||||||
import com.rymcu.forest.entity.Notification;
|
import com.rymcu.forest.entity.Notification;
|
||||||
|
import com.rymcu.forest.web.api.exception.BaseApiException;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -47,6 +48,14 @@ public interface NotificationService extends Service<Notification> {
|
|||||||
/**
|
/**
|
||||||
* 标记消息已读
|
* 标记消息已读
|
||||||
* @param id
|
* @param id
|
||||||
|
* @return
|
||||||
*/
|
*/
|
||||||
Integer readNotification(Integer id);
|
Integer readNotification(Integer id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标记所有消息已读
|
||||||
|
* @return
|
||||||
|
* @throws BaseApiException
|
||||||
|
*/
|
||||||
|
Integer readAllNotification() throws BaseApiException;
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@ import com.rymcu.forest.mapper.NotificationMapper;
|
|||||||
import com.rymcu.forest.service.NotificationService;
|
import com.rymcu.forest.service.NotificationService;
|
||||||
import com.rymcu.forest.util.BeanCopierUtil;
|
import com.rymcu.forest.util.BeanCopierUtil;
|
||||||
import com.rymcu.forest.util.NotificationUtils;
|
import com.rymcu.forest.util.NotificationUtils;
|
||||||
|
import com.rymcu.forest.util.UserUtils;
|
||||||
|
import com.rymcu.forest.web.api.exception.BaseApiException;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@ -70,4 +72,9 @@ public class NotificationServiceImpl extends AbstractService<Notification> imple
|
|||||||
public Integer readNotification(Integer id) {
|
public Integer readNotification(Integer id) {
|
||||||
return notificationMapper.readNotification(id);
|
return notificationMapper.readNotification(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer readAllNotification() throws BaseApiException {
|
||||||
|
return notificationMapper.readAllNotification(Objects.requireNonNull(UserUtils.getCurrentUserByToken()).getIdUser());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,4 +65,13 @@ public class NotificationController {
|
|||||||
return GlobalResultGenerator.genSuccessResult("标记已读成功");
|
return GlobalResultGenerator.genSuccessResult("标记已读成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PutMapping("/read-all")
|
||||||
|
public GlobalResult readAll() throws BaseApiException {
|
||||||
|
Integer result = notificationService.readAllNotification();
|
||||||
|
if (result == 0) {
|
||||||
|
return GlobalResultGenerator.genErrorResult("标记已读失败");
|
||||||
|
}
|
||||||
|
return GlobalResultGenerator.genSuccessResult("标记已读成功");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,9 @@
|
|||||||
<update id="readNotification">
|
<update id="readNotification">
|
||||||
update forest_notification set has_read = '1' where id = #{id}
|
update forest_notification set has_read = '1' where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
<update id="readAllNotification">
|
||||||
|
update forest_notification set has_read = '1' where id_user = #{idUser} and has_read = '0'
|
||||||
|
</update>
|
||||||
<select id="selectUnreadNotifications" resultMap="BaseResultMapper">
|
<select id="selectUnreadNotifications" resultMap="BaseResultMapper">
|
||||||
select * from forest_notification where has_read = '0' and id_user = #{idUser} order by created_time desc
|
select * from forest_notification where has_read = '0' and id_user = #{idUser} order by created_time desc
|
||||||
</select>
|
</select>
|
||||||
|
Loading…
Reference in New Issue
Block a user