/// <summary>
        /// 新增or修改微信通知用户
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task CreateOrUpdateWXMemberConfigDtoAsync(MemberCodeEditDto input)
        {
            MemberConfigEditDto dto = new MemberConfigEditDto();

            if (input.UserCode == 4 && input.UserId.HasValue)
            {
                dto.Code         = DeployCodeEnum.通知配置;
                dto.Value        = input.UserValue;
                dto.Type         = DeployTypeEnum.通知配置;
                dto.CreationTime = DateTime.Now;
                dto.Id           = input.UserId;
                if (input.Desc.Length <= 0)
                {
                    dto.Desc = null;
                }
                else
                {
                    dto.Desc = input.Desc;
                }
                await UpdateMemberConfigAsync(dto);
            }
            else
            {
                dto.Code         = DeployCodeEnum.通知配置;
                dto.Value        = input.UserValue;
                dto.Type         = DeployTypeEnum.通知配置;
                dto.CreationTime = DateTime.Now;
                dto.Id           = Guid.NewGuid();
                if (input.Desc.Length > 0)
                {
                    dto.Desc = input.Desc;
                }
                await CreateMemberConfigAsync(dto);
            }
        }
        /// <summary>
        /// 新增MemberConfig
        /// </summary>
        //[AbpAuthorize(MemberConfigAppPermissions.MemberConfig_CreateMemberConfig)]
        protected virtual async Task <MemberConfigEditDto> CreateMemberConfigAsync(MemberConfigEditDto input)
        {
            //TODO:新增前的逻辑判断,是否允许新增
            var entity = ObjectMapper.Map <MemberConfig>(input);

            entity = await _memberconfigRepository.InsertAsync(entity);

            return(entity.MapTo <MemberConfigEditDto>());
        }
        /// <summary>
        /// 编辑MemberConfig
        /// </summary>
        //[AbpAuthorize(MemberConfigAppPermissions.MemberConfig_EditMemberConfig)]
        protected virtual async Task UpdateMemberConfigAsync(MemberConfigEditDto input)
        {
            //TODO:更新前的逻辑判断,是否允许更新
            var entity = await _memberconfigRepository.GetAsync(input.Id.Value);

            input.MapTo(entity);

            // ObjectMapper.Map(input, entity);
            await _memberconfigRepository.UpdateAsync(entity);
        }
 /// <summary>
 /// 新增Or修改预设搜索
 /// </summary>
 /// <param name="input"></param>
 /// <returns></returns>
 public async Task CreateOrUpdatePreProductConfig(MemberConfigEditDto input)
 {
     input.Desc = input.Value;
     input.Code = DeployCodeEnum.预设商品搜索;
     input.Type = DeployTypeEnum.预设商品配置;
     if (input.Id.HasValue)
     {
         await UpdateMemberConfigAsync(input);
     }
     else
     {
         await CreateMemberConfigAsync(input);
     }
 }
        /// <summary>
        /// 导出MemberConfig为excel表
        /// </summary>
        /// <returns></returns>
        //public async Task<FileDto> GetMemberConfigsToExcel(){
        //var users = await UserManager.Users.ToListAsync();
        //var userListDtos = ObjectMapper.Map<List<UserListDto>>(users);
        //await FillRoleNames(userListDtos);
        //return _userListExcelExporter.ExportToFile(userListDtos);
        //}
        /// <summary>
        /// MPA版本才会用到的方法
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <GetMemberConfigForEditOutput> GetMemberConfigForEdit(NullableIdDto <Guid> input)
        {
            var output = new GetMemberConfigForEditOutput();
            MemberConfigEditDto memberconfigEditDto;

            if (input.Id.HasValue)
            {
                var entity = await _memberconfigRepository.GetAsync(input.Id.Value);

                memberconfigEditDto = entity.MapTo <MemberConfigEditDto>();

                //memberconfigEditDto = ObjectMapper.Map<List <memberconfigEditDto>>(entity);
            }
            else
            {
                memberconfigEditDto = new MemberConfigEditDto();
            }

            output.MemberConfig = memberconfigEditDto;
            return(output);
        }
        /// <summary>
        /// 新增or修改积分配置
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task CreateOrUpdateMemberConfigDtoAsync(MemberCodeEditDto input)
        {
            MemberConfigEditDto dto = new MemberConfigEditDto();

            if (input.ECode == 2 && input.EId.HasValue)
            {
                dto.Code         = DeployCodeEnum.商品评价;
                dto.Value        = input.EValue;
                dto.Type         = DeployTypeEnum.积分配置;
                dto.CreationTime = DateTime.Now;
                dto.Id           = input.EId;
                dto.Desc         = "店铺评价积分配置";
                await UpdateMemberConfigAsync(dto);
            }
            else
            {
                dto.Code         = DeployCodeEnum.商品评价;
                dto.Value        = input.EValue;
                dto.Type         = DeployTypeEnum.积分配置;
                dto.CreationTime = DateTime.Now;
                dto.Id           = Guid.NewGuid();
                dto.Desc         = "店铺评价积分配置";
                await CreateMemberConfigAsync(dto);
            }
            if (input.CCode == 1 && input.CId.HasValue)
            {
                dto.Code         = DeployCodeEnum.商品购买;
                dto.Value        = input.CValue;
                dto.Type         = DeployTypeEnum.积分配置;
                dto.CreationTime = DateTime.Now;
                dto.Id           = input.CId;
                dto.Desc         = "商品购买积分配置";
                await UpdateMemberConfigAsync(dto);
            }
            else
            {
                dto.Code         = DeployCodeEnum.商品购买;
                dto.Value        = input.CValue;
                dto.Type         = DeployTypeEnum.积分配置;
                dto.CreationTime = DateTime.Now;
                dto.Id           = Guid.NewGuid();
                dto.Desc         = "商品购买积分配置";
                await CreateMemberConfigAsync(dto);
            }
            if (input.RcCode == 3 && input.RcId.HasValue)
            {
                dto.Code         = DeployCodeEnum.店铺扫码兑换;
                dto.Value        = input.RcValue;
                dto.Type         = DeployTypeEnum.积分配置;
                dto.CreationTime = DateTime.Now;
                dto.Id           = input.RcId;
                dto.Desc         = "店铺扫码积分配置";
                await UpdateMemberConfigAsync(dto);
            }
            else
            {
                dto.Code         = DeployCodeEnum.店铺扫码兑换;
                dto.Value        = input.RcValue;
                dto.Type         = DeployTypeEnum.积分配置;
                dto.CreationTime = DateTime.Now;
                dto.Id           = Guid.NewGuid();
                dto.Desc         = "店铺扫码积分配置";
                await CreateMemberConfigAsync(dto);
            }
            if (input.FCode == 5 && input.FId.HasValue)
            {
                dto.Code         = DeployCodeEnum.首次注册;
                dto.Value        = input.FValue;
                dto.Type         = DeployTypeEnum.积分配置;
                dto.CreationTime = DateTime.Now;
                dto.Id           = input.FId;
                dto.Desc         = "首次注册积分配置";
                await UpdateMemberConfigAsync(dto);
            }
            else
            {
                dto.Code         = DeployCodeEnum.首次注册;
                dto.Value        = input.FValue;
                dto.Type         = DeployTypeEnum.积分配置;
                dto.Id           = Guid.NewGuid();
                dto.CreationTime = DateTime.Now;
                dto.Desc         = "首次注册积分配置";
                await CreateMemberConfigAsync(dto);
            }
        }