public Task <Unit> Handle(DeleteOneCustomerDietCommand request, CancellationToken cancellationToken)
        {
            // 命令验证
            if (!request.IsValid())
            {
                // 错误信息收集
                NotifyValidationErrors(request);//主要为验证的信息
                // 返回,结束当前线程
                return(Task.FromResult(new Unit()));
            }

            //获取食谱
            var existingCustomerDiet = _customerDietRepository.GetById(request.OID);

            if (existingCustomerDiet == null)
            {
                //引发错误事件
                Bus.RaiseEvent(new DomainNotification("", "食谱不存在"));
                return(Task.FromResult(new Unit()));
            }

            //上一条操作与下一条操作时间间隔至少30秒钟
            //var supporterOperateLastestDiet = _customerDietRepository.GetSupporterOperateLastestDiet(request.LastOperate.Oid);
            //if (supporterOperateLastestDiet != null && supporterOperateLastestDiet.LastOperate.Time.AddSeconds(30) > DateTime.Now)
            //{
            //    //引发错误事件
            //    TimeSpan ts = (supporterOperateLastestDiet.LastOperate.Time.AddSeconds(30) - DateTime.Now);
            //    Bus.RaiseEvent(new DomainNotification("", "休息一下吧," + ts.Seconds + "秒后,再试!"));
            //    return Task.FromResult(new Unit());
            //}

            //更新食谱信息
            existingCustomerDiet.UpdateDiscard(request.Discard, request.LastOperate);

            //判断是否存在需要加入到不喜欢列表中
            if (request.DislikeList != null)
            {
                foreach (var dislikeFood in request.DislikeList)
                {
                    if (_customerDislikeFoodRepository.GetCustomerDislikeFood(existingCustomerDiet.CustomerOid, dislikeFood.FoodOid) == null)
                    {
                        CustomerDislikeFood customerDislikeFood = new CustomerDislikeFood(
                            Guid.NewGuid(),
                            existingCustomerDiet.CustomerOid,
                            dislikeFood.FoodOid,
                            request.LastOperate.Oid,
                            DateTime.Now
                            );
                        _customerDislikeFoodRepository.Add(customerDislikeFood);
                    }
                }
            }

            if (Commit())
            {
                // 提交成功后,这里可以发布领域事件,比如短信通知
            }
            return(Task.FromResult(new Unit()));
        }
        public Task <Unit> Handle(CreateOneCustomerDislikeFoodCommand request, CancellationToken cancellationToken)
        {
            // 命令验证
            if (!request.IsValid())
            {
                // 错误信息收集
                NotifyValidationErrors(request);//主要为验证的信息
                // 返回,结束当前线程
                return(Task.FromResult(new Unit()));
            }

            //验证食材
            if (request.DislikeFoodList.Count <= 0)
            {
                //引发错误事件
                Bus.RaiseEvent(new DomainNotification("", "食材不能空"));
                return(Task.FromResult(new Unit()));
            }

            //上一条操作与下一条操作时间间隔至少30秒钟
            //var supporterOperateLastestDislikeFood = _customerDislikeFoodRepository.GetSupporterOperateLastestDislikeFood(request.OperaterOid);
            //if (supporterOperateLastestDislikeFood != null && supporterOperateLastestDislikeFood.CreateTime.AddSeconds(30) > DateTime.Now)
            //{
            //    //引发错误事件
            //    TimeSpan ts = (supporterOperateLastestDislikeFood.CreateTime.AddSeconds(30) - DateTime.Now);
            //    Bus.RaiseEvent(new DomainNotification("", "休息一下吧," + ts.Seconds + "秒后,再试!"));
            //    return Task.FromResult(new Unit());
            //}

            foreach (var dislikeFoodOid in request.DislikeFoodList)
            {
                var existingDislikeFood = _customerDislikeFoodRepository.GetCustomerDislikeFood(request.CustomerOid, dislikeFoodOid);
                if (existingDislikeFood == null)
                {
                    CustomerDislikeFood customerDislikeFood = new CustomerDislikeFood(
                        Guid.NewGuid(),
                        request.CustomerOid,
                        dislikeFoodOid,
                        request.OperaterOid,
                        DateTime.Now
                        );
                    _customerDislikeFoodRepository.Add(customerDislikeFood);
                }
                else
                {
                    existingDislikeFood = _customerDislikeFoodRepository.GetById(existingDislikeFood.OID);
                    existingDislikeFood.UpdateCreateTime(DateTime.Now);
                }
            }

            if (Commit())
            {
                // 提交成功后,这里可以发布领域事件,比如短信通知
            }
            return(Task.FromResult(new Unit()));
        }