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/controller/admin/doctornotice/vo/DoctornoticePageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/doctornotice/vo/DoctornoticePageReqVO.java index 1e229b92f3..ecc423bf38 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/doctornotice/vo/DoctornoticePageReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/doctornotice/vo/DoctornoticePageReqVO.java @@ -64,4 +64,10 @@ public class DoctornoticePageReqVO extends PageParam { @Schema(description = "是否删除(0:未删除,1:已删除)") private Integer isdeleted; + @Schema(description = "用户姓名") + private String username; + + @Schema(description = "机构ID") + private Integer orgid; + } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/doctornotice/vo/DoctornoticeRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/doctornotice/vo/DoctornoticeRespVO.java index 4faf304dca..af932795e3 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/doctornotice/vo/DoctornoticeRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/doctornotice/vo/DoctornoticeRespVO.java @@ -76,4 +76,12 @@ public class DoctornoticeRespVO { @ExcelProperty("是否删除(0:未删除,1:已删除)") private Integer isdeleted; + @Schema(description = "用户姓名") + @ExcelProperty("用户姓名") + private String username; + + @Schema(description = "机构ID") + @ExcelProperty("机构ID") + private Integer orgid; + } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/doctornotice/vo/DoctornoticeSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/doctornotice/vo/DoctornoticeSaveReqVO.java index 091e6818ca..edc00b8ed9 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/doctornotice/vo/DoctornoticeSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/doctornotice/vo/DoctornoticeSaveReqVO.java @@ -68,4 +68,10 @@ public class DoctornoticeSaveReqVO { @Schema(description = "是否删除(0:未删除,1:已删除)") private Integer isdeleted; + @Schema(description = "用户姓名") + private String username; + + @Schema(description = "机构ID") + private Integer orgid; + } \ 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 f2f8bafee5..2e75f57a51 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 @@ -17,13 +17,11 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; @TableName("tb_doctornotice") @KeySequence("tb_doctornotice_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data -@EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor -public class DoctornoticeDO extends BaseDO { - +public class DoctornoticeDO { /** * 主键ID */ @@ -104,5 +102,15 @@ public class DoctornoticeDO extends BaseDO { */ @TableField("isdeleted") private Integer isdeleted; - + /** + * 用户姓名 + */ + @TableField("username") + private String username; + /** + * 机构ID + */ + @TableField("orgid") + private Integer orgid; + } \ 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 a94d93ebb3..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 @@ -34,7 +34,22 @@ public interface DoctornoticeMapper extends BaseMapperX { .eqIfPresent(DoctornoticeDO::getCreateby, reqVO.getCreateby()) .eqIfPresent(DoctornoticeDO::getUpdateby, reqVO.getUpdateby()) .eqIfPresent(DoctornoticeDO::getIsdeleted, reqVO.getIsdeleted()) + .eqIfPresent(DoctornoticeDO::getOrgid, reqVO.getOrgid()) + .eqIfPresent(DoctornoticeDO::getUsername, reqVO.getUsername()) .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