前置条件:userID符合2-8查看病历信息的数据项描述 后置条件: (1) 根据用户ID(userID)查询病历信息实体(examineInfo)与病历信息表(ExamineInfoList)存在的所有关联。 (2) 若存在关联,返回由病历信息表(ExamineInfoList)查询到的病历信息(examineInfo)实例的集合,否则返回null。请根据前后置条件为通过UserID查找病历信息写一个方法
public List<ExamineInfo> getExamineInfoByUserID(String userID)
{ List<ExamineInfo> examineInfoList = new ArrayList<>();
// 数据库操作,根据userID查询关联的病历信息实体和病历信息表
// 若存在关联,则将查询到的病历信息实例加入examineInfoList中,否则返回null if (/* 存在关联 /) {
for (ExamineInfo examineInfo : / 查询到的病历信息实例集合 */) { 、
examineInfoList.add(examineInfo);
} return examineInfoList;
} else {
return null;
}
}
前置条件:userID符合2-8查看病历信息的数据项描述 后置条件: (1) 根据用户ID(userID)查询病历信息实体(examineInfo)与病历信息表(ExamineInfoList)存在的所有关联。 (2) 若存在关联,返回由病历信息表(ExamineInfoList)查询到的病历信息(examineInfo)实例的集合,否则返回null。请根据前后置条件为通过UserID查找病历信息分别写出controller、service、dao三层的方法
Controller层方法:
@GetMapping("/examineInfos/{userID}")
public ResponseEntity<List<ExamineInfo>> getExamineInfosByUserID(@PathVariable String userID){
List<ExamineInfo> examineInfos = examineInfoService.getExamineInfosByUserID(userID);
if(examineInfos!=null){
return ResponseEntity.ok(examineInfos);
}else{
return ResponseEntity.notFound().build();
}
}
Service层方法:
public List<ExamineInfo> getExamineInfosByUserID(String userID){
return examineInfoDao.findByUserID(userID);
}
Dao层方法:
public interface ExamineInfoDao {
List<ExamineInfo> findByUserID(String userID);
}
前置条件:userID符合8-3查看病历信息的数据项描述; 后置条件: (1) 根据用户ID(userID)查询病历信息实体(medicalRecordInfo)与病历信息表(MedicalRecordInfoList)存在的所有关联。 (2) 若存在关联,返回由病历信息表(MedicalRecordInfoList)查询到的病历信息(medicalRecordInfo)实例的集合,否则返回null。方法如下: MedicalRecordFormInfoController::getMedicalRecordInfoByUserID(UserID userID):List<MedicalRecordFormInfo> 伪码
伪码如下:
- 方法名:getMedicalRecordInfoByUserID
- 参数:userID(用户ID)
- 返回值:List类型的MedicalRecordFormInfo集合
BEGIN IF (userID符合8-3查看病历信息的数据项描述)
THEN medicalRecordInfoList = MedicalRecordInfoList.queryByUserID(userID);
IF (medicalRecordInfoList is not empty)
THEN medicalRecordInfoCollection = [];
FOR EACH medicalRecordInfo IN medicalRecordInfoList DO medicalRecordFormInfo = createMedicalRecordFormInfoFrom(medicalRecordInfo); medicalRecordInfoCollection.add(medicalRecordFormInfo);
END FOR RETURN medicalRecordInfoCollection;
ELSE RETURN null;
END IF ELSE THROW new InvalidUserIDException("用户ID不符合要求");
END IF END
前置条件:userID符合8-3查看病历信息的数据项描述; 后置条件: (1)根据用户ID(userID)查询病历信息实体(medicalRecordInfo)与病历信息表(MedicalRecordInfoList)存在的所有关联。 (2)若存在关联,返回由病历信息表(MedicalRecordInfoList)查询到的病历信息(medicalRecordInfo)实例的集合,否则返回null。 方法如下: MedicalRecordFormInfoService::findMedicalRecordInfoByUserID(UserID userID):List<MedicalRecordInfo> 伪码
BEGIN IF (userID not null and len(userID) == 8)
THEN medicalRecordInfoList = MedicalRecordInfoList.query('userID = %s' % userID)
IF (medicalRecordInfoList not empty)
THEN medicalRecordInfos = List<MedicalRecordInfo>() FOR medicalRecordInfo IN medicalRecordInfoList DO medicalRecordInfos.add(medicalRecordInfo)
END FOR
RETURN medicalRecordInfos
ELSE RETURN null
END IF
ELSE RAISE "Invalid userID" END IF END
前置条件:userID符合8-3查看病历信息的数据项描述 后置条件: (1)根据用户ID(userID)查询病历信息实体(medicalRecordInfo)与病历信息表(MedicalRecordInfoList)存在的所有关联。 (2)若存在关联,返回由病历信息表(MedicalRecordInfoList)查询到的病历信息(medicalRecordInfo)实例的集合,否则返回null。 方法: MedicalRecordFormInfoDao::selectMedicalRecordInfoByUserID(UserID userID):List<MedicalRecordInfo> 请为该方法写出对应伪码,要求需要加入sql语句
伪码如下:
Controller层:
- 添加用户评价:addApprise(AppriseInfo appriseInfo)
Service层:
- 添加用户评价:addApprise(AppriseInfo appriseInfo)
- 查询用户评价:getAppriseListByUserId(int userId)
DAO层:
- 添加用户评价:insertApprise(AppriseInfo appriseInfo)
- 查询用户评价:selectAppriseListByUserId(int userId)
SQL语句:SELECT * FROM MedicalRecordInfoList WHERE userID = ?
Controller层:
- 添加用户评价信息:addAppriseInfo(HttpServletRequest request)
Service层:
- 添加用户评价信息:addAppriseInfo(AppriseInfo appriseInfo)
Dao层:
- 添加用户评价信息:insert(AppriseInfo appriseInfo)