Exemplo n.º 1
0
        /// <summary>
        /// 获取下级代理商用户的信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <ApiResult <LowerAgentOutputItem> > GetLowerAgent(string id)
        {
            var agent = await _lowerAgentRepository.GetAsync(id);

            if (agent == null)
            {
                return(ApiResult.DataNotFound <LowerAgentOutputItem>());
            }
            var output = LowerAgent.MapTo <LowerAgentOutputItem>(agent);

            return(new ApiResult <LowerAgentOutputItem>().Success(output));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 删除菜单
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <ApiResult> RemoveMenu(string id)
        {
            var menu = await GetByIdAsync(id);

            if (menu == null)
            {
                return(ApiResult.DataNotFound());
            }
            menu.IsDeleted = true;
            await _menuRepository.UpdateAsync(menu);

            return(new ApiResult().Success());
        }
Exemplo n.º 3
0
        /// <summary>
        /// 获取站点详情
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <ApiResult <GetWebsitOutput> > GetWebSite(string id)
        {
            GetWebsitOutput result  = null;
            var             webSite = await _siteFullRepository.GetAsync(id);

            if (webSite != null)
            {
                if (webSite.WebSite.IsDeleted)
                {
                    return(ApiResult.DataNotFound <GetWebsitOutput>());
                }
                result = WebSiteFull.MapTo <GetWebsitOutput>(webSite);
                if (!string.IsNullOrEmpty(webSite.WebSite.WebSiteMater))
                {
                    //获取关联的DefaultJFPrice和DefaultNotePrice
                    var price = _userScoreRepository.GetAll()
                                .Where(i => i.Id == result.WebSiteMater)
                                .Select(i => new
                    {
                        i.JfPrice,
                        i.NotePrice
                    }).FirstOrDefault();

                    //获取关联的provinceid
                    var province = _userSysSettingRepository.GetAll().Where(i => i.Id == result.WebSiteMater)
                                   .Select(i => new
                    {
                        i.Provinceid
                    }).FirstOrDefault();

                    //获取关联的Email和LoginName
                    var info = _userRepository.GetAll().Where(i => i.Id == result.WebSiteMater)
                               .Select(i => new
                    {
                        i.EmailAddress,
                        i.LoginName
                    }).FirstOrDefault();

                    //var (price, province, info) = await (defaultJFPriceAndDefaultNotePriceTask, provinceidTask,
                    //    emailAndloginnameTask);

                    result.DefaultJFPrice   = price?.JfPrice;
                    result.DefaultNotePrice = price?.NotePrice;
                    result.Provinceid       = province?.Provinceid ?? "0";
                    result.Email            = info?.EmailAddress;
                    result.loginname        = info?.LoginName;
                }
            }

            return(ApiResult.Success(result));
        }
Exemplo n.º 4
0
        public async Task <ApiResult <UserOutDto> > Get(string id)
        {
            if (string.IsNullOrWhiteSpace(id))
            {
                return(ApiResult.ValidationError <UserOutDto>());
            }
            var user = await _userRepository.FirstOrDefaultAsync(id);

            if (user == null)
            {
                return(ApiResult.DataNotFound <UserOutDto>());
            }
            var dto = _objectMapper.Map <UserOutDto>(user);

            return(ApiResult.Success(dto));
        }
Exemplo n.º 5
0
        public async Task <ApiResult> ResetPassword(ResetPasswordInput input)
        {
            var user = await _userRepository.FirstOrDefaultAsync(input.UserId);

            if (user == null)
            {
                return(ApiResult.DataNotFound());
            }
            string srtPassword = "******";

            srtPassword   = Encryptor.MD5Entry(srtPassword);
            user.Password = srtPassword;
            await _userRepository.UpdateAsync(user);

            return(new ApiResult().Success());
        }
Exemplo n.º 6
0
        public async Task <ApiResult> Update(UserEditInputDto userEditInput)
        {
            var user = await _userRepository.FirstOrDefaultAsync(i => i.Id == userEditInput.Id);

            if (user == null)
            {
                return(ApiResult.DataNotFound());
            }
            user = userEditInput.MapTo <Model.Users>();
            if (!string.IsNullOrWhiteSpace(userEditInput.Password))
            {
                user.Password = Encryptor.MD5Entry(userEditInput.Password);
            }
            user.LastModificationTime = DateTime.Now;
            await _userRepository.UpdateAsync(user);

            return(new ApiResult().Success());
        }
Exemplo n.º 7
0
        public async Task <ApiResult> Delete(string input)
        {
            if (string.IsNullOrWhiteSpace(input))
            {
                return(ApiResult.ValidationError());
            }
            var user = await _userRepository.FirstOrDefaultAsync(input);

            if (user == null)
            {
                return(ApiResult.DataNotFound());
            }
            user.LastModificationTime = DateTime.Now;
            user.IsDeleted            = true;
            await _userRepository.UpdateAsync(user);

            return(new ApiResult().Success());
        }
Exemplo n.º 8
0
        ///// <summary>
        ///// 通过指定id获取BatchInfoListDto信息
        ///// </summary>

        //public async Task<BatchInfoListDto> GetById(EntityDto<string> input)
        //{
        //    var entity = await _entityRepository.GetAsync(input.Id);

        //    return entity.MapTo<BatchInfoListDto>();
        //}

        /// <summary>
        /// 删除批次
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>

        public async Task <ApiResult> Delete(string id)
        {
            var entity = await _entityRepository.FirstOrDefaultAsync(id);

            if (entity == null)
            {
                return(ApiResult.DataNotFound());
            }

            if (entity.Status == 2)
            {
                return(new ApiResult().Error("当前状态不允许删除"));
            }

            entity.IsDeleted = true;
            await _entityRepository.UpdateAsync(entity);

            return(new ApiResult().Success());
        }
Exemplo n.º 9
0
        /// <summary>
        /// 强制完成
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <ApiResult> ForcedCompleted(string id)
        {
            var batchInfo = await _entityRepository.FirstOrDefaultAsync(id);

            if (batchInfo == null)
            {
                return(ApiResult.DataNotFound());
            }
            //只有正在办理的才可以
            if (batchInfo.Status != 2)
            {
                return(new ApiResult().Error("当前批次状态不允许该操作"));
            }

            // 强制完成
            batchInfo.Status = 4;
            await _entityRepository.UpdateAsync(batchInfo);

            return(new ApiResult().Success());
        }
Exemplo n.º 10
0
        public async Task <ApiResult> QuotePrice(PriceInput input)
        {
            ApiResult apiResult = new ApiResult();
            Hashtable hst       = new Hashtable();

            if (!Limit(hst, input.BatchId, "QueryViolation_Agent", out string globalKey))
            {
                return(apiResult.Error());
            }
            var batchInfo = await _batchInfoRepository.GetAsync(input.BatchId);

            var carList = await _batchCarRepository.GetAllListAsync(o => o.WebSiteId == AbpSession.WebSiteId && o.BatchId == input.BatchId);

            if (carList == null || carList.Count == 0)
            {
                return(ApiResult.DataNotFound());
            }
            // 缓存报价进度
            var station = new QuotePriceStation
            {
                Id            = input.BatchId,
                AllCount      = carList.Count,
                CompleteCount = 0,
            };
            await _cacheManager.GetCache(globalKey).SetAsync(globalKey, station);

            // 后台处理
            await Task.WhenAll(carList.Select(i =>
            {
                var priceRequest       = i.MapTo <IndoorPriceInput>();
                priceRequest.UserId    = batchInfo.ProxyUserId;
                priceRequest.WebSiteId = AbpSession.WebSiteId;
                return(_bus.Send(new IndoorPriceAndSaveCommand
                {
                    GlobalKey = globalKey,
                    IndoorPrice = priceRequest
                }));
            })).ConfigureAwait(false);

            return(apiResult.Success());
        }
Exemplo n.º 11
0
        /// <summary>
        /// 更新菜单
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <ApiResult> UpdateMenu(UpdateMenuInput input)
        {
            var menu = await GetByIdAsync(input.Id);

            if (menu == null)
            {
                return(ApiResult.DataNotFound());
            }
            // 更新菜单时不允许更新父节点
            menu.MenuName             = input.MenuName;
            menu.MenuLeval            = input.MenuLeval;
            menu.MenuUrl              = input.MenuUrl;
            menu.MenuLayer            = input.MenuLayer;
            menu.IsSys                = input.IsSys;
            menu.IsOut                = input.IsOut;
            menu.IsParent             = input.IsParent;
            menu.TargetFrame          = input.TargetFrame;
            menu.Weight               = input.Weight;
            menu.LastModificationTime = DateTime.Now;
            await _menuRepository.UpdateAsync(menu);

            return(new ApiResult().Success());
        }
Exemplo n.º 12
0
        public async Task <ApiResult> UpdateWebSite(UpdateWebSiteInput input)
        {
            // 是否使用系统的配置
            WhenUseSysAlipayPayment(input);
            WhenUseSysWeiXinPay(input);

            //todo:记录日志
            var websiteTemp = _siteFullRepository.GetAllNoTracking()
                              .Where(i => i.WebSite.Id == input.Id)
                              .Select(i => new
            {
                i.WebSite.WebSiteMater,
                i.WebSite.WorkerName,
                i.WebSiteConfig.GivePointsPerMonth,
                i.WebSiteConfig.DefaultNotePrice,
                i.WebSiteConfig.DefaultJfPrice
            }).FirstOrDefault();

            if (websiteTemp == null)
            {
                return(ApiResult.DataNotFound());
                //throw new UserFriendlyException("该站点不存在,无法编辑!");
            }

            // 更新站点
            var insertWebsite = WebSiteFull.MapFrom(input);

            insertWebsite.WebSite.Id = input.Id;
            await _siteFullRepository.UpdateAsync(insertWebsite);

            // 站点管理员的 WorkerName 和 PROVINCEID  变更时
            var UserSysSetting = await _userSysSettingRepository
                                 .FirstOrDefaultAsync(i => i.Id == input.WebSiteMater && i.WebSiteId == input.Id);

            if (UserSysSetting == null)
            {
                throw new UserFriendlyException("注意,总站信息不对!");
            }
            if (UserSysSetting.Provinceid != input.PROVINCEID ||
                UserSysSetting.Swfzr != input.WorkerName)
            {
                UserSysSetting.Provinceid = input.PROVINCEID;
                UserSysSetting.Swfzr      = input.WorkerName;
                await _userSysSettingRepository.UpdateAsync(UserSysSetting);
            }

            // 每月赠送次数 变更时

            var UserScore = await _userScoreRepository.FirstOrDefaultAsync(i => i.Id == input.WebSiteMater);

            if (UserScore != null)
            {
                if (UserScore.GivePointsPerMonth != input.GivePointsPerMonth)
                {
                    UserScore.GivePointsPerMonth = input.GivePointsPerMonth;
                    await _userScoreRepository.UpdateAsync(UserScore);
                }
            }

            //站点短信与积分单价变化时,更新所有站点用户的短信与积分单价,暂时不做这个操作
            //if (website.DefaultJfPrice!=input.DefaultJfPrice
            //    ||website.DefaultNotePrice!=input.DefaultNotePrice)
            //{
            //}
            return(new ApiResult().Success());
        }