public async Task <IActionResult> GetEvaluvationAsync([FromQuery] string evaluationGuid) { if (string.IsNullOrEmpty(evaluationGuid)) { return(Failed(ErrorCode.Empty, "参数不正确")); } var evaluationBiz = new HospitalEvaluationBiz(); var evaluvation = await evaluationBiz.GetEvaluationAsync(evaluationGuid); if (evaluvation is null || string.IsNullOrEmpty(evaluvation.UserGuid) || !evaluvation.UserGuid.Equals(UserID)) { evaluvation = null; } return(Success(evaluvation)); }
public async Task <IActionResult> EvaluvationAsync([FromBody] CreateHospitalEvaluvationRequestDto request) { if (request.Tags.Count() <= 0) { return(Failed(ErrorCode.Empty, "评价标签必填")); } var tag = string.Join("", request.Tags); if (tag.Length > 500) { return(Failed(ErrorCode.Empty, "评价标签超过最大长度限制")); } if (request.Score <= 0 || request.Score > 5) { return(Failed(ErrorCode.Empty, "满意度参数不正确")); } var hospitalBiz = new HospitalBiz(); var hospital = await hospitalBiz.GetAsync(request.HospitalGuid); if (hospital is null) { return(Failed(ErrorCode.Empty, "医院不存在,请检查提交参数")); } if (!hospital.Enable) { return(Failed(ErrorCode.Empty, $"医院“{hospital.HosName}”已被禁用,无法提交")); } var officeBiz = new OfficeBiz(); var office = await officeBiz.GetAsync(request.OfficeGuid); if (office is null) { return(Failed(ErrorCode.Empty, "科室不存在,请检查提交参数")); } if (!office.Enable) { return(Failed(ErrorCode.Empty, $"科室“{office.OfficeName}”已被禁用,无法提交")); } if (!office.HospitalGuid.Equals(hospital.HospitalGuid)) { return(Failed(ErrorCode.Empty, $"科室“{office.OfficeName}”不属于医院“{hospital.HosName}”,无法提交")); } var evaluationBiz = new HospitalEvaluationBiz(); var evaluvation = await evaluationBiz.GetAsync(request.EvaluationGuid); if (evaluvation is null) { return(Failed(ErrorCode.Empty, "预评论参数不正确,请检查")); } if (!string.IsNullOrEmpty(evaluvation.UserGuid)) { return(Failed(ErrorCode.Empty, "已提交,请勿重复提交")); } evaluvation.UserGuid = UserID; evaluvation.HospitalGuid = hospital.HospitalGuid; evaluvation.OfficeGuid = office.OfficeGuid; evaluvation.EvaluationTag = JsonConvert.SerializeObject(request.Tags); evaluvation.Score = request.Score; evaluvation.ConditionDetail = request.ConditionDetail; evaluvation.Anonymous = request.Anonymous; evaluvation.CreatedBy = UserID; evaluvation.LastUpdatedBy = UserID; var result = await evaluationBiz.UpdateAsync(evaluvation); if (!result) { return(Failed(ErrorCode.DataBaseError, "提交评论失败,请稍后重试")); } return(Success()); }