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 01e780a282..3fc66f6fc6 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 @@ -86,4 +86,14 @@ public class DoctornoticeController { BeanUtils.toBean(list, DoctornoticeRespVO.class)); } + @GetMapping("/updateReadStatus") + @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); + 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/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 20fd1ecb97..c4862d26a9 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 @@ -39,4 +39,17 @@ public interface DoctornoticeMapper extends BaseMapperX { .orderByDesc(DoctornoticeDO::getId)); } + /** + * 根据用户ID更新读取状态 + * + * @param userid 用户ID + * @param readstatus 读取状态 + * @return 更新的记录数 + */ + default int updateReadStatusByUserId(Integer userid, Integer readstatus) { + return update(new DoctornoticeDO().setReadstatus(readstatus), + new LambdaQueryWrapperX() + .eq(DoctornoticeDO::getUserid, 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 0d67a5b332..2868c35c79 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 @@ -52,4 +52,12 @@ public interface DoctornoticeService { */ PageResult getDoctornoticePage(DoctornoticePageReqVO pageReqVO); + /** + * 更新医生通知读取状态 + * + * @param userid 用户编号 + * @param readstatus 读取状态 + */ + void updateReadStatus(Integer userid, Integer readstatus); + } \ 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 b4c7154b2b..0223e51428 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 @@ -71,4 +71,11 @@ public class DoctornoticeServiceImpl implements DoctornoticeService { return doctornoticeMapper.selectPage(pageReqVO); } + @Override + @Transactional(rollbackFor = Exception.class) + public void updateReadStatus(Integer userid, Integer readstatus) { + // 更新该用户所有未读通知的读取状态 + doctornoticeMapper.updateReadStatusByUserId(userid, readstatus); + } + } \ No newline at end of file