From a6353e1d2fc0dd51e2d0e4f846a51d24138de7d6 Mon Sep 17 00:00:00 2001 From: lxd <1004405501@qq.com> Date: Tue, 1 Jul 2025 16:12:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=8E=E7=AB=AF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../doctornotice/DoctornoticeController.java | 9 ++++++--- .../dataobject/doctornotice/DoctornoticeDO.java | 2 ++ .../mysql/doctornotice/DoctornoticeMapper.java | 17 +++++++++++++---- .../doctornotice/DoctornoticeService.java | 3 ++- .../doctornotice/DoctornoticeServiceImpl.java | 8 +++++--- 5 files changed, 28 insertions(+), 11 deletions(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/doctornotice/DoctornoticeController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/doctornotice/DoctornoticeController.java index 3fc66f6fc6..0d2c03df8a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/doctornotice/DoctornoticeController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/doctornotice/DoctornoticeController.java @@ -11,6 +11,7 @@ import io.swagger.v3.oas.annotations.Operation; import javax.validation.constraints.*; import javax.validation.*; import javax.servlet.http.*; +import java.time.LocalDateTime; import java.util.*; import java.io.IOException; @@ -90,10 +91,12 @@ public class DoctornoticeController { @Operation(summary = "更新医生通知读取状态") @Parameter(name = "userid", description = "用户编号", required = true) @Parameter(name = "readstatus", description = "读取状态", required = true) - public CommonResult updateReadStatus(@RequestParam("userid") Integer userid, - @RequestParam("readstatus") Integer readstatus) { - doctornoticeService.updateReadStatus(userid, readstatus); + public CommonResult updateReadStatus(@RequestParam("id") Integer userid, + @RequestParam("readstatus") Integer readstatus, + @RequestParam("readtime") String readtime) { + doctornoticeService.updateReadStatus(userid, readstatus,readtime); return success(true); } + } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/doctornotice/DoctornoticeDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/doctornotice/DoctornoticeDO.java index 2e75f57a51..9f494dadde 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/doctornotice/DoctornoticeDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/doctornotice/DoctornoticeDO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.system.dal.dataobject.doctornotice; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.*; import java.util.*; import java.time.LocalDateTime; @@ -76,6 +77,7 @@ public class DoctornoticeDO { * 读取时间 */ @TableField("readtime") + @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss") private LocalDateTime readtime; /** * 创建时间 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/doctornotice/DoctornoticeMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/doctornotice/DoctornoticeMapper.java index c4862d26a9..4267a32330 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/doctornotice/DoctornoticeMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/doctornotice/DoctornoticeMapper.java @@ -1,5 +1,7 @@ package cn.iocoder.yudao.module.system.dal.mysql.doctornotice; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.*; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -40,16 +42,23 @@ public interface DoctornoticeMapper extends BaseMapperX { } /** - * 根据用户ID更新读取状态 + * 根据用户ID更新读取状态和阅读时间 * * @param userid 用户ID * @param readstatus 读取状态 + * @param readtime 阅读时间 * @return 更新的记录数 */ - default int updateReadStatusByUserId(Integer userid, Integer readstatus) { - return update(new DoctornoticeDO().setReadstatus(readstatus), + default int updateReadStatusByUserId(Integer userid, Integer readstatus, String readtime) { + +// 在方法内部进行转换 + LocalDateTime readDateTime = LocalDateTime.parse(readtime, DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss")); + + return update(new DoctornoticeDO() + .setReadstatus(readstatus) + .setReadtime(readDateTime), new LambdaQueryWrapperX() - .eq(DoctornoticeDO::getUserid, userid)); + .eq(DoctornoticeDO::getId, userid)); } } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/doctornotice/DoctornoticeService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/doctornotice/DoctornoticeService.java index 2868c35c79..505c3a3d39 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/doctornotice/DoctornoticeService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/doctornotice/DoctornoticeService.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.system.service.doctornotice; +import java.time.LocalDateTime; import java.util.*; import javax.validation.*; import cn.iocoder.yudao.module.system.controller.admin.doctornotice.vo.*; @@ -58,6 +59,6 @@ public interface DoctornoticeService { * @param userid 用户编号 * @param readstatus 读取状态 */ - void updateReadStatus(Integer userid, Integer readstatus); + void updateReadStatus(Integer userid, Integer readstatus, String readtime); } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/doctornotice/DoctornoticeServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/doctornotice/DoctornoticeServiceImpl.java index 0223e51428..72641e0148 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/doctornotice/DoctornoticeServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/doctornotice/DoctornoticeServiceImpl.java @@ -5,6 +5,7 @@ import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDateTime; import java.util.*; import cn.iocoder.yudao.module.system.controller.admin.doctornotice.vo.*; import cn.iocoder.yudao.module.system.dal.dataobject.doctornotice.DoctornoticeDO; @@ -72,10 +73,11 @@ public class DoctornoticeServiceImpl implements DoctornoticeService { } @Override - @Transactional(rollbackFor = Exception.class) - public void updateReadStatus(Integer userid, Integer readstatus) { + public void updateReadStatus(Integer id, Integer readstatus, String readtime) { // 更新该用户所有未读通知的读取状态 - doctornoticeMapper.updateReadStatusByUserId(userid, readstatus); + doctornoticeMapper.updateReadStatusByUserId(id, readstatus,readtime); } + + } \ No newline at end of file