package com.example.caseData.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.example.caseData.common.Response; import com.example.caseData.dao.*; import com.example.caseData.dto.user.UserDto; import com.example.caseData.model.*; import com.example.caseData.request.UserRequest.UserRequest; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletRequest; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api") public class UserController extends BaseController { @Resource private UserDao userDao; @Resource private BasicHospitalDao basicHospitalDao; @Resource private HttpServletRequest httpServletRequest; @Resource private CaseClinicalDoctorDao caseClinicalDoctorDao; @Resource private UserCollectClinicalArticleDao userCollectClinicalArticleDao; @Resource private CaseClinicalArticleAuthorDao caseClinicalArticleAuthorDao; @Resource private UserCollectClinicalVideoDao userCollectClinicalVideoDao; @Resource private CaseClinicalVideoAuthorDao caseClinicalVideoAuthorDao; @Resource private UserCollectExchangeDao userCollectExchangeDao; @Resource private UserCaseReadDao userCaseReadDao; // // 查询所有用户 // @GetMapping("/users") // public Response> getUserPage(@Validated({UserRequest.Page.class}) @ModelAttribute UserRequest request) { // request.validateForPage(); // 确保分页参数有默认值 // // Page page = new Page<>(request.getPage(), request.getPageSize()); // 创建分页对象 // // QueryWrapper queryWrapper = new QueryWrapper<>(); // queryWrapper.like("user_id", "吴"); // // // 执行分页查询 // Page resultPage = userDao.selectPage(page, queryWrapper); // // // 返回 // List userDtoList = UserDto.getUserListDto(resultPage.getRecords()); // // // 组装分页结果 // Map resultMap = new HashMap<>(); // resultMap.put("page", resultPage.getCurrent()); // resultMap.put("pageSize", resultPage.getSize()); // resultMap.put("total", resultPage.getTotal()); // resultMap.put("data", userDtoList); // // return Response.success(resultMap); // } // 获取用户信息 @GetMapping("/user") public Response getUser(@Validated({UserRequest.Page.class}) @ModelAttribute UserRequest request) { String userId = (String) httpServletRequest.getAttribute("userId"); // 获取当前登录用户数据 UserModel user = userDao.selectById(Long.valueOf(userId)); if (user == null) { return Response.error(); } // 获取用户医院数据 BasicHospitalModel basicHospital = basicHospitalDao.selectById(user.getHospitalId()); if (basicHospital == null) { return Response.error(); } user.setBasicHospital(basicHospital); // 获取对应医生数据 LambdaQueryWrapper caseClinicalDoctorWrapper = new LambdaQueryWrapper<>(); caseClinicalDoctorWrapper.eq(CaseClinicalDoctorModel::getDoctorIden, user.getUserIden()); CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectOne(caseClinicalDoctorWrapper); // 处理返回值 UserDto g = UserDto.GetDto(user); g.setUserIden(""); g.setOpenId(""); g.setUnionId(""); g.setUserMobile(""); g.setMobileEncryption(""); if (caseClinicalDoctor != null) { g.setDoctorId(String.valueOf(caseClinicalDoctor.getDoctorId())); } return Response.success(g); } }