修改后端接口

This commit is contained in:
lxd 2025-07-01 16:12:45 +08:00
parent 1b3a765c21
commit a6353e1d2f
5 changed files with 28 additions and 11 deletions

View File

@ -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<Boolean> updateReadStatus(@RequestParam("userid") Integer userid,
@RequestParam("readstatus") Integer readstatus) {
doctornoticeService.updateReadStatus(userid, readstatus);
public CommonResult<Boolean> updateReadStatus(@RequestParam("id") Integer userid,
@RequestParam("readstatus") Integer readstatus,
@RequestParam("readtime") String readtime) {
doctornoticeService.updateReadStatus(userid, readstatus,readtime);
return success(true);
}
}

View File

@ -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;
/**
* 创建时间

View File

@ -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<DoctornoticeDO> {
}
/**
* 根据用户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<DoctornoticeDO>()
.eq(DoctornoticeDO::getUserid, userid));
.eq(DoctornoticeDO::getId, userid));
}
}

View File

@ -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);
}

View File

@ -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);
}
}