mirror of https://gitee.com/stylefeng/roses
【8.1.0】【message】【个人消息】更新设置已读标识
parent
b3e7153def
commit
4037e15497
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
* Copyright [2020-2030] [https://www.stylefeng.cn]
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
* Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
|
||||
*
|
||||
* 1.请不要删除和修改根目录下的LICENSE文件。
|
||||
* 2.请不要删除和修改Guns源码头部的版权声明。
|
||||
* 3.请保留源码和相关描述文件的项目出处,作者声明等。
|
||||
* 4.分发源码时候,请注明软件出处 https://gitee.com/stylefeng/guns
|
||||
* 5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/stylefeng/guns
|
||||
* 6.若您的项目无法满足以上几点,可申请商业授权
|
||||
*/
|
||||
package cn.stylefeng.roses.kernel.sys.api.enums.message;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.stylefeng.roses.kernel.rule.base.ReadableEnum;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 消息是否已读的状态
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2024/1/14 21:26
|
||||
*/
|
||||
@Getter
|
||||
public enum ReadFlagEnum implements ReadableEnum<ReadFlagEnum> {
|
||||
|
||||
/**
|
||||
* 未读
|
||||
*/
|
||||
NO_READ(0, "未读"),
|
||||
|
||||
/**
|
||||
* 已读
|
||||
*/
|
||||
HAVE_READ(1, "已读");
|
||||
|
||||
private final Integer code;
|
||||
|
||||
private final String message;
|
||||
|
||||
ReadFlagEnum(Integer code, String message) {
|
||||
this.code = code;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getKey() {
|
||||
return this.code;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getName() {
|
||||
return this.message;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReadFlagEnum parseToEnum(String originValue) {
|
||||
if (ObjectUtil.isEmpty(originValue)) {
|
||||
return null;
|
||||
}
|
||||
for (ReadFlagEnum value : ReadFlagEnum.values()) {
|
||||
if (value.code.equals(Convert.toInt(originValue))) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -72,6 +72,7 @@ public class SysMessageController {
|
|||
*/
|
||||
@PostResource(name = "设为已读消息", path = "/sysMessage/setRead")
|
||||
public ResponseData<?> setRead(@RequestBody @Validated(BaseRequest.detail.class) SysMessageRequest sysMessageRequest) {
|
||||
sysMessageService.setReadFlag(sysMessageRequest);
|
||||
return new SuccessResponseData<>();
|
||||
}
|
||||
|
||||
|
@ -83,6 +84,7 @@ public class SysMessageController {
|
|||
*/
|
||||
@PostResource(name = "全部已读", path = "/sysMessage/setTotalRead")
|
||||
public ResponseData<?> setTotalRead() {
|
||||
this.sysMessageService.setReadTotalReadFlag();
|
||||
return new SuccessResponseData<>();
|
||||
}
|
||||
|
||||
|
|
|
@ -49,4 +49,20 @@ public interface SysMessageService extends IService<SysMessage> {
|
|||
*/
|
||||
void deleteAllMyMessage();
|
||||
|
||||
/**
|
||||
* 设置信息为已读
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2024/1/14 21:36
|
||||
*/
|
||||
void setReadFlag(SysMessageRequest sysMessageRequest);
|
||||
|
||||
/**
|
||||
* 将自己的消息全部设置为已读
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2024/1/14 21:38
|
||||
*/
|
||||
void setReadTotalReadFlag();
|
||||
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
|||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||
import cn.stylefeng.roses.kernel.sys.api.enums.message.ReadFlagEnum;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.message.entity.SysMessage;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.message.enums.SysMessageExceptionEnum;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.message.mapper.SysMessageMapper;
|
||||
|
@ -61,6 +62,25 @@ public class SysMessageServiceImpl extends ServiceImpl<SysMessageMapper, SysMess
|
|||
this.remove(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setReadFlag(SysMessageRequest sysMessageRequest) {
|
||||
// 只能设置自己的消息
|
||||
LambdaUpdateWrapper<SysMessage> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(SysMessage::getReceiveUserId, LoginContext.me().getLoginUser().getUserId());
|
||||
wrapper.eq(SysMessage::getMessageId, sysMessageRequest.getMessageId());
|
||||
wrapper.set(SysMessage::getReadFlag, ReadFlagEnum.HAVE_READ.getCode());
|
||||
this.update(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setReadTotalReadFlag() {
|
||||
// 只能设置自己的消息
|
||||
LambdaUpdateWrapper<SysMessage> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(SysMessage::getReceiveUserId, LoginContext.me().getLoginUser().getUserId());
|
||||
wrapper.set(SysMessage::getReadFlag, ReadFlagEnum.HAVE_READ.getCode());
|
||||
this.update(wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取信息
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue