/// <summary>
        /// 新增医护人员
        /// </summary>
        /// <param name="input">医护人员信息</param>
        /// <returns>是否成功</returns>
        public async Task <OutputBase> Add(AdminDoctorDto input)
        {
            if (await _repository.GetDoctorByPhone(input.Phone) != null)
            {
                return(OutputBase.Fail("该手机号已经注册"));
            }

            var doctor = new Doctor
            {
                Brithdate        = input.Brithdate,
                DeptId           = input.DeptId,
                HospitalId       = input.HospitalId,
                Name             = input.Name,
                Phone            = input.Phone,
                SelfDesc         = input.SelfDesc,
                Sex              = input.Sex,
                UserType         = input.UserType,
                TitleId          = input.TitleId,
                DialysisDoctorId = string.Empty,//默认
                IsDelete         = false
            };

            _repository.Add(doctor);

            return(_unitWork.Commit() ? OutputBase.Success("新增成功") : OutputBase.Fail("新增失败"));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 更新患者
        /// </summary>
        /// <param name="input">患者信息</param>
        /// <returns>是否成功</returns>
        public async Task <OutputBase> Update(AdminPatientDto input)
        {
            var patientContact = await _repository.GetPatientCotactById(input.Id);

            if (input.Phone != patientContact.MobilePhone && await _repository.GetPatientCotactByPhone(input.Phone) != null)
            {
                return(OutputBase.Fail("该手机号已经注册"));
            }

            var patient = new Patient
            {
                Id          = input.Id,
                Brithdate   = input.Brithdate,
                DoctorId    = input.DoctorId == -1 ? null : input.DoctorId,
                HospitalId  = input.HospitalId,
                PatientName = input.PatientName,
                PinyinCode  = Utility.GetFirstPY(input.PatientName),
                Remark      = input.Remark,
                Sex         = input.Sex,
                UserStatus  = input.UserStatus
            };
            await _repository.UpdatePatient(patient);

            var contact = new PatientContact
            {
                MobilePhone  = input.Phone,
                ContatctName = input.PatientName,
                //Password = input.Password,
                PatientId = input.Id
            };
            await _patientContactRepository.Update(contact);

            return(_unitWork.Commit() ? OutputBase.Success("更新成功") : OutputBase.Fail("更新失败"));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 同步患者联系人(新增或修改)
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <OutputBase> AddOrUpdate(AddPatientContactSync sync)
        {
            var patient = await _patientRepository.Get(sync.DialysisPatientId, sync.HospitalId);

            if (patient == null)
            {
                return(OutputBase.Fail("不存在该患者"));
            }

            var patientContact = await _repository.Get(sync.DialysisContactId, sync.HospitalId);

            if (patientContact == null)
            {
                var entity = Mapper.Map <AddPatientContactSync, PatientContact>(sync);
                entity.PatientId = patient.Id;
                _repository.Add(entity);
            }
            else
            {
                patientContact.PatientId  = patient.Id;
                patientContact.UpdateTime = DateTime.Now;
                Mapper.Map(sync, patientContact);
            }

            return(_unitWork.Commit() ? OutputBase.Success("保存成功") : OutputBase.Fail("保存失败"));
        }
        /// <summary>
        /// 新增血压
        /// </summary>
        /// <param name="input">新增血压请求</param>
        /// <returns></returns>
        public async Task <OutputBase> Add(AddBloodPressureInput input)
        {
            var patient = await _patientRepository.Get((int)input.PatientId);

            if (patient == null)
            {
                return(OutputBase.Fail("该患者不存在"));
            }

            var entity = new BloodPressure
            {
                DataSource                = input.DataSource,
                PatientId                 = input.PatientId,
                DiastolicPressure         = input.DiastolicPressure,
                DiastolicPressureIsNormal = ChronicDiseaseUtility.IsDiastolicPressureNormal(input.DiastolicPressure),
                SystolicPressure          = input.SystolicPressure,
                SystolicPressureIsNormal  = ChronicDiseaseUtility.IsSystolicPressureNormal(input.SystolicPressure),
                HeartRate                 = input.HeartRate,
                HeartRateIsNormal         = ChronicDiseaseUtility.IsHeartRateNormal(input.HeartRate)
            };

            _bloodPressureRepository.Add(entity);

            return(_unitWork.Commit() ? OutputBase.Success("已成功录入血压") : OutputBase.Fail("录入血压失败"));
        }
        /// <summary>
        /// 同步体重
        /// </summary>
        /// <param name="sync"></param>
        /// <returns></returns>
        public async Task <OutputBase> Add(AddWeightSync sync)
        {
            if (await _repository.IsExist(sync.DialysisWeightId, sync.HospitalId))
            {
                return(OutputBase.Fail("此体重数据已存在"));
            }

            var patient = await _patientRepository.Get(sync.DialysisPatientId, sync.HospitalId);

            if (patient == null)
            {
                return(OutputBase.Fail("此患者不存在"));
            }

            var weight = Mapper.Map <AddWeightSync, Weight>(sync);

            #region 兼容华墨数据,华墨数据库中测量方式透后为1,我们平台统一为2
            if (sync.MeasureType == 1)
            {
                weight.MeasureType = (int)MeasureTypeEnum.透后;
            }
            #endregion
            weight.PatientId = patient.Id;
            _repository.Add(weight);
            return(_unitWork.Commit() ? OutputBase.Success("保存成功") : OutputBase.Fail("保存失败"));
        }
Exemplo n.º 6
0
        /// <summary>
        /// 新增患者
        /// </summary>
        /// <param name="input">患者信息</param>
        /// <returns>是否成功</returns>
        public async Task <OutputBase> Add(AdminPatientDto input)
        {
            if (await _repository.GetPatientCotactByPhone(input.Phone) != null)
            {
                return(OutputBase.Fail("该手机号已经注册"));
            }

            var patient = new Patient
            {
                Brithdate         = input.Brithdate,
                DialysisPatientId = 0,//默认
                DoctorId          = input.DoctorId == -1 ? null : input.DoctorId,
                HospitalId        = input.HospitalId,
                PatientName       = input.PatientName,
                PinyinCode        = Utility.GetFirstPY(input.PatientName),
                Remark            = input.Remark,
                Sex        = input.Sex,
                UserStatus = input.UserStatus
            };
            var patientId = _repository.Add(patient);
            var contact   = new PatientContact
            {
                MobilePhone       = input.Phone,
                Relationship      = CommConstant.OneselfRelationship,
                ContatctName      = input.PatientName,
                DialysisContactId = 0,//默认
                HospitalId        = input.HospitalId,
                PatientId         = patientId
            };

            _patientContactRepository.Add(contact);

            return(_unitWork.Commit() ? OutputBase.Success("新增成功") : OutputBase.Fail("新增失败"));
        }
        /// <summary>
        /// 添加手环数据
        /// </summary>
        /// <param name="input">输入</param>
        /// <returns></returns>
        public async Task <OutputBase> Add(AddHandRingInput input)
        {
            if (await _patientRepository.GetPatientById(input.PatientId) == null)
            {
                return(OutputBase.Fail("患者不存在"));
            }

            foreach (var item in input.HandRingList)
            {
                if (!await _repository.IsExsit(input.PatientId, item.Date))
                {
                    var entity = new HandRing
                    {
                        Date      = item.Date,
                        Distance  = item.Distance,
                        Energy    = item.Energy,
                        SleepTime = item.SleepTime,
                        Steps     = item.Steps,
                        PatientId = input.PatientId
                    };

                    _repository.Add(entity);
                }
            }
            return(_unitWork.Commit() ? OutputBase.Success("保存成功") : OutputBase.Fail("保存失败"));
        }
        /// <summary>
        /// 更新医护人员
        /// </summary>
        /// <param name="input">医护人员信息</param>
        /// <returns>是否成功</returns>
        public async Task <OutputBase> Update(AdminDoctorDto input)
        {
            var doctor = await _repository.GetDoctorById(input.Id);

            if (doctor == null)
            {
                return(OutputBase.Fail("该医护人员不存在"));
            }
            if (doctor.Phone != input.Phone && await _repository.GetDoctorByPhone(input.Phone) != null)
            {
                return(OutputBase.Fail("该手机号已经注册"));
            }

            var entity = new Doctor
            {
                Id         = input.Id,
                Brithdate  = input.Brithdate,
                DeptId     = input.DeptId,
                HospitalId = input.HospitalId,
                Name       = input.Name,
                Phone      = input.Phone,
                SelfDesc   = input.SelfDesc,
                Sex        = input.Sex,
                UserType   = input.UserType,
                TitleId    = input.TitleId
            };
            await _repository.Update(entity);

            return(_unitWork.Commit() ? OutputBase.Success("更新成功") : OutputBase.Fail("更新失败"));
        }
        /// <summary>
        /// 删除医院
        /// </summary>
        /// <param name="id">医院Id</param>
        /// <returns>是否成功</returns>
        public OutputBase Delete(long id)
        {
            //if (await _repository.GetHospitalById(id) == null)
            //    return OutputBase.Fail("该医院已删除");
            _repository.Delete(id);

            return _unitWork.Commit() ? OutputBase.Success("删除成功") : OutputBase.Fail("删除失败");
        }
        /// <summary>
        /// 新增血压
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public OutputBase Add(AddBloodPressureInput input)
        {
            var bloodPressure = Mapper.Map <AddBloodPressureInput, BloodPressure>(input);

            bloodPressure.MeasureType   = (int)MeasureTypeEnum.日常;
            bloodPressure.MeasureMethod = (int)MeasureMethodEnum.App;
            _repository.Add(bloodPressure);
            return(_unitWork.Commit() ? OutputBase.Success("保存成功") : OutputBase.Fail("保存失败"));
        }
        /// <summary>
        /// 新增体重
        /// </summary>
        /// <param name="input">体重输入</param>
        /// <returns>是否成功</returns>
        public OutputBase Add(AddWeightInput input)
        {
            var weight      = Mapper.Map <AddWeightInput, Weight>(input);
            var measureTime = DateTime.Now;

            weight.MeasureTime = measureTime;
            _repository.Add(weight);

            return(_unitWork.Commit() ? OutputBase.Success("新增报警记录成功") : OutputBase.Fail("新增报警记录失败"));
        }
        /// <summary>
        /// 删除医护人员
        /// </summary>
        /// <param name="dialysisDoctorId">透析医护人员Id(华墨系统Id)</param>
        /// <param name="hospitalId">医院Id</param>
        /// <returns>是否保存成功</returns>
        public async Task <OutputBase> DeleteDoctor(long hospitalId, string dialysisDoctorId)
        {
            var doctor = await _repository.Get(dialysisDoctorId, hospitalId);

            if (doctor == null)
            {
                return(OutputBase.Fail("该医生不存在"));
            }
            _repository.Delete(doctor);
            return(_unitWork.Commit() ? OutputBase.Success("删除成功") : OutputBase.Fail("该医生不存在"));
        }
        /// <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("保存失败"));
        }
Exemplo n.º 14
0
        /// <summary>
        /// 同步透析下机
        /// </summary>
        /// <param name="sync"></param>
        /// <returns></returns>
        public async Task <OutputBase> AddDialysisOff(AddDialysisOffSync sync)
        {
            var dialysis = await _repository.Get(sync.DialysisRecordId, sync.HospitalId);

            if (dialysis == null)
            {
                return(OutputBase.Fail("不存在透析上机记录"));
            }

            dialysis.ConfirmedUFV         = sync.ConfirmedUFV;
            dialysis.StartTime            = sync.StartTime;
            dialysis.OffSystolicPressure  = sync.OffSystolicPressure;
            dialysis.OffDiastolicPressure = sync.OffDiastolicPressure;
            dialysis.OffPulseRate         = sync.OffPulseRate;
            dialysis.OffBreath            = sync.OffBreath;
            dialysis.PostWeight           = sync.PostWeight;
            dialysis.ActualUFV            = sync.ActualUFV;
            dialysis.EndTime  = sync.EndTime;
            dialysis.OffNurse = sync.OffNurse;
            dialysis.Summary  = sync.Summary;

            #region 添加下机Message
            var endTime = sync.EndTime.GetValueOrDefault();
            var content = string.Format("下机时间: {0}", endTime.ToString(CommConstant.TimeFormatString));
            var message = new Domain.Models.Message
            {
                AppType   = (int)AppTypeEnum.Patient,
                Content   = content,
                IsRead    = false,
                ReceiveId = dialysis.PatientId,
                SendId    = 0,
                SendName  = "系统",
                Title     = "透析前下机测量",
                Type      = (int)MessageTypeEnum.透析下机,
                OuterId   = dialysis.Id.ToString()
            };
            _messageRepository.Add(message);
            #endregion

            if (!_unitWork.Commit())
            {
                OutputBase.Fail("保存失败");
            }

            #region 向患者端异步发送下机JPush
            ThreadPool.QueueUserWorkItem(delegate
            {
                new JPushMessage(AppTypeEnum.Patient, (int)JPushKeyEnum.DialysisOff, dialysis.PatientId.ToString(), content, dialysis.Id.ToString(), _optionsAccessor.IsDevModel).SendPush();
                new JPushNotification(AppTypeEnum.Patient, (int)JPushKeyEnum.DialysisOff, dialysis.PatientId.ToString(), content, dialysis.Id.ToString(), _optionsAccessor.IsDevModel).SendPush();
            });
            #endregion

            return(OutputBase.Success("保存成功"));
        }
        /// <summary>
        /// 更新课程类别
        /// </summary>
        /// <param name="model">课程类别信息</param>
        /// <returns>是否成功</returns>
        public async Task <OutputBase> Update(AdminCourseCategoryDto model)
        {
            var entity = new Dictionary
            {
                Description = model.Description,
                Name        = model.Name,
                Id          = model.Id
            };
            await _systemRepository.UpdateDictionary(entity);

            return(_unitWork.Commit() ? OutputBase.Success("更新课程类别成功") : OutputBase.Fail("更新课程类别失败"));
        }
Exemplo n.º 16
0
        /// <summary>
        /// 同步透析小结
        /// </summary>
        /// <param name="sync"></param>
        /// <returns></returns>
        public async Task <OutputBase> AddDialysisSummary(AddDialysisSummarySync sync)
        {
            var dialysis = await _repository.Get(sync.DialysisRecordId, sync.HospitalId);

            if (dialysis == null)
            {
                return(OutputBase.Fail("不存在透析记录"));
            }

            dialysis.Summary = sync.Summary;
            return(_unitWork.Commit() ? OutputBase.Success("保存成功") : OutputBase.Fail("保存失败"));
        }
Exemplo n.º 17
0
        /// <summary>
        /// 新增患者
        /// </summary>
        /// <param name="input">患者信息</param>
        /// <returns>是否成功</returns>
        public OutputBase Add(AdminPatientDto input)
        {
            var patient = new Patient
            {
                Brithdate   = input.Brithdate,
                PatientName = input.PatientName,
                Sex         = input.Sex,
            };
            var patientId = _repository.Add(patient);

            return(_unitWork.Commit() ? OutputBase.Success("新增成功") : OutputBase.Fail("新增失败"));
        }
        /// <summary>
        /// 更新课程信息
        /// </summary>
        /// <param name="model">课程信息</param>
        /// <returns>是否成功</returns>
        public async Task <OutputBase> Update(AdminCourseDto model)
        {
            var entity = new Course
            {
                Content = model.Content,
                Title   = model.Title,
                Type    = model.Category,
                Id      = model.Id
            };
            await _repository.Update(entity);

            return(_unitWork.Commit() ? OutputBase.Success("更新课程成功") : OutputBase.Fail("更新课程失败"));
        }
Exemplo n.º 19
0
        /// <summary>
        /// 新增后台用户
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public OutputBase Add(AdministratorDto model)
        {
            var administator = new Administrator
            {
                LoginName      = model.LoginName,
                IsSuperManager = model.IsSuperManager,
                HospitalId     = model.HospitalId,
            };

            _repository.AddUser(administator);

            return(_unitWork.Commit() ? OutputBase.Success("新增成功") : OutputBase.Fail("新增失败"));
        }
Exemplo n.º 20
0
        /// <summary>
        /// 更新患者
        /// </summary>
        /// <param name="input">患者信息</param>
        /// <returns>是否成功</returns>
        public async Task <OutputBase> Update(AdminPatientDto input)
        {
            var patient = new Patient
            {
                Id          = input.Id,
                Brithdate   = input.Brithdate,
                PatientName = input.PatientName,
                Sex         = input.Sex
            };
            await _repository.UpdatePatient(patient);

            return(_unitWork.Commit() ? OutputBase.Success("更新成功") : OutputBase.Fail("更新失败"));
        }
        /// <summary>
        /// 新增医院
        /// </summary>
        /// <param name="model">医院信息</param>
        /// <returns>是否成功</returns>
        public async Task<OutputBase> Add(AdminHospitalDto model)
        {
            if (await _repository.GetHospitalByName(model.HospitalName) != null)
                return OutputBase.Fail("同名医院已存在");

            var entity = new Hospital
            {
                CityId = model.CityId,
                HospitalName = model.HospitalName
            };
            _repository.Add(entity);

            return _unitWork.Commit() ? OutputBase.Success("新增成功") : OutputBase.Fail("新增失败");
        }
Exemplo n.º 22
0
        /// <summary>
        /// 修改后台用户
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <OutputBase> Update(AdministratorDto model)
        {
            var administrator = await _repository.GetAdministratorById(model.Id);

            if (administrator == null)
            {
                return(OutputBase.Fail("该用户不存在"));
            }
            administrator.LoginName      = model.LoginName;
            administrator.IsSuperManager = model.IsSuperManager;
            administrator.HospitalId     = model.HospitalId;
            administrator.UpdateTime     = DateTime.Now;
            return(_unitWork.Commit() ? OutputBase.Success("更新成功") : OutputBase.Fail("更新失败"));
        }
        /// <summary>
        /// 同步排班(新增或修改)
        /// </summary>
        /// <param name="sync"></param>
        /// <returns></returns>
        public async Task <OutputBase> AddOrUpdate(AddShiftSync sync)
        {
            var shift = await _repository.Get(sync.DialysisShiftId, sync.HospitalId);

            if (shift == null)
            {
                _repository.Add(Mapper.Map <AddShiftSync, Shift>(sync));
            }
            else
            {
                Mapper.Map(sync, shift);
            }

            return(_unitWork.Commit() ? OutputBase.Success("保存成功") : OutputBase.Fail("保存失败"));
        }
        /// <summary>
        /// 新建课程
        /// </summary>
        /// <param name="model">课程信息</param>
        /// <returns>是否成功</returns>
        public async Task <OutputBase> Add(AdminCourseDto model)
        {
            var sortId = await _repository.GetCourseMaxSortId(model.Category);

            var entity = new Course
            {
                Content = model.Content,
                SortId  = sortId == 0 ? 1 : (sortId + 1),
                Title   = model.Title,
                Type    = model.Category
            };

            _repository.Add(entity);

            return(_unitWork.Commit() ? OutputBase.Success("新增课程成功") : OutputBase.Fail("新增课程失败"));
        }
        /// <summary>
        /// 同步医护人员(新增或修改)
        /// </summary>
        /// <param name="sync"></param>
        /// <returns>是否保存成功</returns>
        public async Task <OutputBase> AddOrUpdate(AddDoctorSync sync)
        {
            var doctor = await _repository.Get(sync.DialysisDoctorId, sync.HospitalId);

            if (doctor == null)
            {
                _repository.Add(Mapper.Map <AddDoctorSync, Doctor>(sync));
            }
            else
            {
                Mapper.Map <AddDoctorSync, Doctor>(sync, doctor);
                doctor.UpdateTime = DateTime.Now;
            }

            return(_unitWork.Commit() ? OutputBase.Success("保存成功") : OutputBase.Fail("保存失败"));
        }
Exemplo n.º 26
0
 /// <summary>
 /// 调用Action前验证Model
 /// </summary>
 /// <param name="context"></param>
 public override void OnActionExecuting(ActionExecutingContext context)
 {
     if (!context.ModelState.IsValid)
     {
         string errorMessage;
         var    firstValue = context.ModelState.Where(m => m.Value.Errors.Count > 0).FirstOrDefault().Value; //取出第一个错误信息
         if (firstValue.Errors.Count > 0)
         {
             errorMessage = firstValue.Errors.FirstOrDefault().ErrorMessage;
         }
         else
         {
             errorMessage = "参数错误";
         }
         context.Result = new OkObjectResult(OutputBase.Fail(errorMessage));
     }
 }
        /// <summary>
        /// 更新医院
        /// </summary>
        /// <param name="model">医院信息</param>
        /// <returns>是否成功</returns>
        public async Task<OutputBase> Update(AdminHospitalDto model)
        {
            var hospital = await _repository.GetHospitalById(model.Id);
            if (hospital == null)
                return OutputBase.Fail("该医院不存在");
            if (model.HospitalName != hospital.HospitalName && await _repository.GetHospitalByName(model.HospitalName) != null)
                return OutputBase.Fail("同名医院已存在");
            var entity = new Hospital
            {
                Id = model.Id,
                CityId = model.CityId,
                HospitalName = model.HospitalName
            };
            await _repository.Update(entity);

            return _unitWork.Commit() ? OutputBase.Success("更新成功") : OutputBase.Fail("更新失败");
        }
        /// <summary>
        /// 确认报警记录
        /// </summary>
        /// <param name="input">确认报警记录输入</param>
        /// <returns>是否成功</returns>
        public async Task <OutputBase> ConfirmAlarm(ConfirmAlarmInput input)
        {
            var alarm = await _repository.GetAlarmById(input.AlarmId);

            if (alarm == null)
            {
                return(OutputBase.Fail("该报警记录不存在"));
            }
            var doctor = await _doctorRepository.GetDoctorById(input.DoctorId);

            if (doctor == null)
            {
                return(OutputBase.Fail("确认的医护人员不存在"));
            }
            await _repository.ConfirmAlarm(input.AlarmId);

            string content = string.Format("{0}医生确认了您的体重预警", doctor.Name);
            var    entity  = new Message
            {
                IsRead    = false,
                Content   = content,
                ReceiveId = alarm.PatientId,
                Title     = "确认体重预警",
                Type      = (int)MessageTypeEnum.确认体重预警,
                SendId    = input.DoctorId,
                SendName  = doctor.Name,
                Url       = string.Empty,
                OuterId   = input.AlarmId.ToString(),
                AppType   = (int)AppTypeEnum.Patient
            };

            _messageRepository.Add(entity);
            if (!_unitWork.Commit())
            {
                return(OutputBase.Fail("确认失败"));
            }
            #region 异步发送JPush Notification、Message
            ThreadPool.QueueUserWorkItem(delegate
            {
                new JPushMessage(AppTypeEnum.Patient, (int)JPushKeyEnum.ConfirmAlarm, alarm.PatientId.ToString(), content, entity.OuterId, _optionsAccessor.IsDevModel).SendPush();
                new JPushNotification(AppTypeEnum.Patient, (int)JPushKeyEnum.ConfirmAlarm, alarm.PatientId.ToString(), content, entity.OuterId, _optionsAccessor.IsDevModel).SendPush();
            });
            #endregion

            return(OutputBase.Success("确认成功"));
        }
Exemplo n.º 29
0
        /// <summary>
        /// 患者微信绑定
        /// </summary>
        /// <param name="input">绑定输入</param>
        /// <returns></returns>
        public async Task <OutputBase> BindWeixin(BindWeixinInput input)
        {
            var patient = await _repository.GetByIdNo(input.IdNo);

            if (patient == null)
            {
                return(OutputBase.Fail("不存在该患者"));
            }
            if (!string.IsNullOrEmpty(patient.WxOpenId))
            {
                return(OutputBase.Fail("此患者已绑定微信"));
            }

            patient.WxOpenId   = input.OpenId;
            patient.UpdateTime = DateTime.Now;
            return(_unitWork.Commit() ? OutputBase.Success("绑定成功") : OutputBase.Fail("绑定失败"));
        }
        /// <summary>
        /// 新建课程类别
        /// </summary>
        /// <param name="model">课程类别信息</param>
        /// <returns>是否成功</returns>
        public async Task <OutputBase> Add(AdminCourseCategoryDto model)
        {
            int value = await _systemRepository.GetMaxIdByParentValue(CommConstant.PatientEduParentValue);

            int sortId = await _systemRepository.GetMaxSortIdByParentValue(CommConstant.PatientEduParentValue);

            var entity = new Dictionary
            {
                Id          = value == 0 ? 1 : (value + 1),
                Description = model.Description,
                Name        = model.Name,
                ParentValue = CommConstant.PatientEduParentValue,
                SortId      = sortId == 0 ? 1 : (sortId + 1)
            };

            _systemRepository.AddDictionary(entity);

            return(_unitWork.Commit() ? OutputBase.Success("新增课程类别成功") : OutputBase.Fail("新增课程类别失败"));
        }