/// <summary> /// 保存患教 /// </summary> /// <param name="input">患教输入</param> /// <returns>是否保存成功</returns> public async Task <OutputBase> Add(AddPatientEduInput input) { var doctor = await _doctorRepository.GetDoctorById(input.DoctorId); if (doctor == null) { return(OutputBase.Fail("医生Id参数不正确,该医护人员不存在")); } if (input.PatientIds.Count < 1) { return(OutputBase.Fail("患者Id数组参数个数不能为0")); } if (input.CourseList.Count < 1) { return(OutputBase.Fail("课程列表参数个数不能为0")); } string content = string.Format("{0}医生向您发送了新的课程", doctor.Name); var patientEduList = new List <PatientEducation>(); foreach (var patientId in input.PatientIds) { var batchNumber = DateTime.Now.ToString(CommConstant.FullTimeFormatString); foreach (var course in input.CourseList) { _repository.Add(course, patientId, input.DoctorId, batchNumber); } var messageEntity = new Message { IsRead = false, OuterId = batchNumber + input.DoctorId.ToString().PadLeft(18, '0') + patientId.ToString().PadLeft(18, '0'), Content = content, ReceiveId = patientId, Title = "患教课程", Type = (int)MessageTypeEnum.患教课程, SendId = input.DoctorId, SendName = doctor.Name, Url = string.Empty, AppType = (int)AppTypeEnum.Patient }; _messageRepository.Add(messageEntity); #region 异步发送JPush Notification、Message ThreadPool.QueueUserWorkItem(delegate { new JPushMessage(AppTypeEnum.Patient, (int)JPushKeyEnum.PatientEducation, patientId.ToString(), content, messageEntity.OuterId, _optionsAccessor.IsDevModel).SendPush(); new JPushNotification(AppTypeEnum.Patient, (int)JPushKeyEnum.PatientEducation, patientId.ToString(), content, messageEntity.OuterId, _optionsAccessor.IsDevModel).SendPush(); }); #endregion } return(_unitWork.Commit() ? OutputBase.Success("保存成功") : OutputBase.Fail("保存失败")); }
public async Task <OutputBase> Add([FromBody] AddPatientEduInput input) { return(await _service.Add(input)); }