ViewOrgUserMapper 新增的视图查询mapper 医生通知 和留言板修改查询按照视图进行 区分
This commit is contained in:
parent
68d07ab13e
commit
8fd3291345
@ -69,5 +69,7 @@ public class DoctornoticePageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "机构ID")
|
||||
private Integer orgid;
|
||||
|
||||
// 新增字段用于处理 orgid 查询
|
||||
@Schema(description = "用户ID列表")
|
||||
private List<Integer> userIds;
|
||||
}
|
@ -46,4 +46,13 @@ public class FeedbackPageReqVO extends PageParam {
|
||||
@Schema(description = "回复状态")
|
||||
private String replyStatus;
|
||||
|
||||
@Schema(description = "状态:0-提交留言,1-回复留言未读,2-回复留言已读")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "设备Id(设备表的主键)")
|
||||
private Integer deviceid;
|
||||
|
||||
@Schema(description = "用户ID列表")
|
||||
private List<Integer> userIds;
|
||||
|
||||
}
|
@ -52,4 +52,10 @@ public class FeedbackRespVO {
|
||||
@ExcelProperty("机构名称")
|
||||
private String orgname;
|
||||
|
||||
@Schema(description = "状态:0-提交留言,1-回复留言未读,2-回复留言已读")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "设备Id(设备表的主键)")
|
||||
private Integer deviceid;
|
||||
|
||||
}
|
@ -36,5 +36,10 @@ public class FeedbackSaveReqVO {
|
||||
|
||||
@Schema(description = "机构名称", example = "张三")
|
||||
private String orgname;
|
||||
@Schema(description = "状态:0-提交留言,1-回复留言未读,2-回复留言已读")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "设备Id(设备表的主键)")
|
||||
private Integer deviceid;
|
||||
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package cn.iocoder.yudao.module.system.dal.ViewOrgUser;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ViewOrgUserDO {
|
||||
|
||||
private Integer orgId;
|
||||
private Integer userId;
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.system.dal.dataobject.feedback;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
@ -61,7 +62,11 @@ public class FeedbackDO {
|
||||
@TableField("create_time")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@TableField("status")
|
||||
private Integer status;
|
||||
|
||||
@TableField("device_id")
|
||||
private Integer deviceid;
|
||||
/**
|
||||
* 机构ID
|
||||
*/
|
||||
|
@ -0,0 +1,16 @@
|
||||
package cn.iocoder.yudao.module.system.dal.mysql.ViewOrgUser;
|
||||
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.system.dal.ViewOrgUser.ViewOrgUserDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface ViewOrgUserMapper extends BaseMapperX<ViewOrgUserDO> {
|
||||
|
||||
@Select("SELECT userid FROM view_org_user WHERE orgid = #{orgId}")
|
||||
List<Integer> selectUserIdsByOrgId(Integer orgId);
|
||||
}
|
@ -8,6 +8,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.doctornotice.DoctornoticeDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.feedback.FeedbackDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.doctornotice.vo.*;
|
||||
|
||||
@ -20,9 +21,8 @@ import cn.iocoder.yudao.module.system.controller.admin.doctornotice.vo.*;
|
||||
public interface DoctornoticeMapper extends BaseMapperX<DoctornoticeDO> {
|
||||
|
||||
default PageResult<DoctornoticeDO> selectPage(DoctornoticePageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<DoctornoticeDO>()
|
||||
LambdaQueryWrapperX<DoctornoticeDO> queryWrapper = new LambdaQueryWrapperX<DoctornoticeDO>()
|
||||
.eqIfPresent(DoctornoticeDO::getDeviceid, reqVO.getDeviceid())
|
||||
.eqIfPresent(DoctornoticeDO::getUserid, reqVO.getUserid())
|
||||
.eqIfPresent(DoctornoticeDO::getDoctorid, reqVO.getDoctorid())
|
||||
.betweenIfPresent(DoctornoticeDO::getDatatime, reqVO.getDatatime())
|
||||
.eqIfPresent(DoctornoticeDO::getNoticetype, reqVO.getNoticetype())
|
||||
@ -36,9 +36,18 @@ public interface DoctornoticeMapper extends BaseMapperX<DoctornoticeDO> {
|
||||
.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));
|
||||
//.eqIfPresent(DoctornoticeDO::getOrgid, reqVO.getOrgid())
|
||||
//.eqIfPresent(DoctornoticeDO::getUsername, reqVO.getUsername())
|
||||
.orderByDesc(DoctornoticeDO::getId);
|
||||
|
||||
// 处理 userId 查询条件
|
||||
if (reqVO.getUserIds() != null) {
|
||||
queryWrapper.in(DoctornoticeDO::getUserid, reqVO.getUserIds());
|
||||
} else {
|
||||
queryWrapper.eqIfPresent(DoctornoticeDO::getUserid, reqVO.getUserid());
|
||||
}
|
||||
|
||||
return selectPage(reqVO, queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2,13 +2,19 @@ package cn.iocoder.yudao.module.system.dal.mysql.feedback;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.feedback.FeedbackDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.ViewOrgUser.ViewOrgUserMapper;
|
||||
import cn.iocoder.yudao.module.system.service.feedback.FeedbackService;
|
||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.feedback.vo.*;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 留言板 Mapper
|
||||
@ -27,9 +33,9 @@ public interface FeedbackMapper extends BaseMapperX<FeedbackDO> {
|
||||
.likeIfPresent(FeedbackDO::getDoctorName, reqVO.getDoctorName())
|
||||
.eqIfPresent(FeedbackDO::getDoctorId, reqVO.getDoctorId())
|
||||
.betweenIfPresent(FeedbackDO::getBackTime, reqVO.getBackTime())
|
||||
.betweenIfPresent(FeedbackDO::getCreateTime, reqVO.getCreateTime())
|
||||
.eqIfPresent(FeedbackDO::getOrgid, reqVO.getOrgid())
|
||||
.likeIfPresent(FeedbackDO::getOrgname, reqVO.getOrgname());
|
||||
.betweenIfPresent(FeedbackDO::getCreateTime, reqVO.getCreateTime());
|
||||
// .eqIfPresent(FeedbackDO::getOrgid, reqVO.getOrgid())
|
||||
// .likeIfPresent(FeedbackDO::getOrgname, reqVO.getOrgname());
|
||||
|
||||
// 根据 ReplyStatus 添加不同的查询条件
|
||||
if ("replied".equals(reqVO.getReplyStatus())) {
|
||||
@ -38,9 +44,18 @@ public interface FeedbackMapper extends BaseMapperX<FeedbackDO> {
|
||||
queryWrapper.isNull(FeedbackDO::getBackTime); // unreplied: getBackTime 为 null
|
||||
}
|
||||
|
||||
// 处理 userId 查询条件
|
||||
if (reqVO.getUserIds() != null) {
|
||||
queryWrapper.in(FeedbackDO::getUserId, reqVO.getUserIds());
|
||||
} else {
|
||||
queryWrapper.eqIfPresent(FeedbackDO::getUserId, reqVO.getUserId());
|
||||
}
|
||||
|
||||
queryWrapper.orderByDesc(FeedbackDO::getId);
|
||||
|
||||
return selectPage(reqVO, queryWrapper);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.system.service.doctornotice;
|
||||
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.ViewOrgUser.ViewOrgUserMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@ -30,6 +31,9 @@ public class DoctornoticeServiceImpl implements DoctornoticeService {
|
||||
@Resource
|
||||
private DoctornoticeMapper doctornoticeMapper;
|
||||
|
||||
@Resource
|
||||
private ViewOrgUserMapper viewOrgUserMapper;
|
||||
|
||||
@Override
|
||||
public Integer createDoctornotice(DoctornoticeSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@ -69,6 +73,17 @@ public class DoctornoticeServiceImpl implements DoctornoticeService {
|
||||
|
||||
@Override
|
||||
public PageResult<DoctornoticeDO> getDoctornoticePage(DoctornoticePageReqVO pageReqVO) {
|
||||
// 如果提供了 orgid,则根据 view_org_user 查询对应的 userids
|
||||
if (pageReqVO.getOrgid() != null) {
|
||||
List<Integer> userIds = viewOrgUserMapper.selectUserIdsByOrgId(pageReqVO.getOrgid());
|
||||
// 将 userIds 设置到 reqVO 中,供 mapper 使用
|
||||
pageReqVO.setUserIds(userIds);
|
||||
// 如果没有找到任何 userid,可以直接返回空结果
|
||||
if (userIds.isEmpty()) {
|
||||
return PageResult.empty(0L);
|
||||
}
|
||||
}
|
||||
|
||||
return doctornoticeMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.system.service.feedback;
|
||||
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.ViewOrgUser.ViewOrgUserMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@ -29,7 +30,8 @@ public class FeedbackServiceImpl implements FeedbackService {
|
||||
|
||||
@Resource
|
||||
private FeedbackMapper feedbackMapper;
|
||||
|
||||
@Resource
|
||||
private ViewOrgUserMapper viewOrgUserMapper;
|
||||
@Override
|
||||
public Integer createFeedback(FeedbackSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@ -69,6 +71,17 @@ public class FeedbackServiceImpl implements FeedbackService {
|
||||
|
||||
@Override
|
||||
public PageResult<FeedbackDO> getFeedbackPage(FeedbackPageReqVO pageReqVO) {
|
||||
// 如果提供了 orgid,则根据 view_org_user 查询对应的 userids
|
||||
if (pageReqVO.getOrgid() != null) {
|
||||
List<Integer> userIds = viewOrgUserMapper.selectUserIdsByOrgId(pageReqVO.getOrgid());
|
||||
// 将 userIds 设置到 reqVO 中,供 mapper 使用
|
||||
pageReqVO.setUserIds(userIds);
|
||||
// 如果没有找到任何 userid,可以直接返回空结果
|
||||
if (userIds.isEmpty()) {
|
||||
return PageResult.empty(0L);
|
||||
}
|
||||
}
|
||||
|
||||
return feedbackMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user