示例#1
0
        public async Task <object> PostPortrait(int id, [FromForm] IFormFile portrait)
        {
            MessageBase2 result = new MessageBase2();

            var fileName = ContentDispositionHeaderValue.Parse(portrait.ContentDisposition).FileName.Value.Trim('"');
            var ext      = System.IO.Path.GetExtension(fileName);

            fileName = SysHelper.RandomFileName() + ext;

            Stream st = portrait.OpenReadStream();

            QCloudHelper   qCloud = new QCloudHelper();
            var            b      = qCloud.UploadFile("/upload/portrait/", fileName, st);
            CosFileStatDto dto    = new CosFileStatDto()
            {
                AccessUrl    = b.AccessUrl,
                Url          = b.Url,
                SourceUrl    = b.SourceUrl,
                ResourcePath = b.ResourcePath
            };
            await _cosFileStatService.AddAsync(dto);


            await _memberService.UpdatePortraitAsync(id, OtherConfig.PortraitWebDir + fileName);

            result.Success = Permanent.SUCCESS;
            return(result);
        }
示例#2
0
        public async Task <object> Post(string value)
        {
            MessageBase2 result = new MessageBase2();
            await _hotSearchService.AddAsync(value);

            return(result);
        }
示例#3
0
        public async Task <object> GetExchange(int userId, int pageIndex, int pageSize)
        {
            MessageBase2 result = new MessageBase2();

            var v = await _exchangeService.FindListAsync(pageIndex, pageSize, "", 0, 0, userId);

            var page   = ConvertHelper.ChangeType <MessagePageBase2>(v.pageDto);
            var erList = new List <ExchangeResultModel>();

            v.dto.ForEach(p =>
            {
                erList.Add(new ExchangeResultModel()
                {
                    Id           = p.Id,
                    Title        = p.Title,
                    AddTime      = p.AddTime.ToString("yyyy-MM-dd HH:mm:ss"),
                    Nickname     = p.Nickname,
                    Cover        = p.Cover,
                    Examine      = p.ExamineName + (p.ExamineName == "审核完成" ? ":" + p.Official : ""),
                    LogisticCode = p.LogisticCode,
                    Portrait     = p.Portrait
                });
            });
            page.Data = erList;

            result.Data = page;
            return(result);
        }
示例#4
0
        public async Task <object> Get(int userId, int pageIndex, int pageSize)
        {
            MessageBase2 result = new MessageBase2();

            var v = await _exchangePersonService.FindListAsync(userId, pageIndex, pageSize);

            var page = ConvertHelper.ChangeType <MessagePageBase2>(v.pageDto);
            List <ExchangePersonResultModel> resultModel = new List <ExchangePersonResultModel>();

            v.dto.ForEach(d => { resultModel.Add(new ExchangePersonResultModel()
                {
                    Id           = d.Id.ToInt32(),
                    AddTime      = d.AddTime,
                    Cover        = d.Cover,
                    LogisticCode = d.LogisticCode,
                    Nickname     = d.Nickname,
                    State        = d.State,
                    Title        = d.Title,
                    SerialNum    = d.SerialNum.SubLeft(16),
                    Portrait     = d.Portrait,
                    ExamineId    = d.ExamineId,
                    EpId         = d.EpId
                }); });

            page.Data   = resultModel;
            result.Data = page;

            return(result);
        }
示例#5
0
        public async Task <object> PostTransfer([Range(typeof(int), "1", "999999999", ErrorMessage = "用户id必须大于0")] int id)
        {
            MessageBase2 result = new MessageBase2();
            await _refundService.AddAsync(id);

            return(result);
        }
示例#6
0
        public async Task <object> Delete(int id)
        {
            MessageBase2 result = new MessageBase2();
            await _mailingAddressService.DeleteAsync(id);

            return(result);
        }
示例#7
0
        public async Task <object> PutPhone([Required] int id, [FromBody] PhoneViewModel model)
        {
            MessageBase2 result = new MessageBase2();

            if (await _memberService.ExistAsync("phone", model.Phone) > 0)
            {
                result.Success  = Permanent.FAILED;
                result.Error    = (int)StatusCodeEnum.INVALID_REQUEST;
                result.ErrorMsg = "手机号已存在";
            }
            else
            {
                MemberDto dto = new MemberDto()
                {
                    Id       = id,
                    PhoneMob = model.Phone
                };
                await _memberService.UpdateAsync(dto);

                result.Success = Permanent.SUCCESS;
            }


            return(result);
        }
示例#8
0
        public async Task <object> Delete(int id)
        {
            MessageBase2 result = new MessageBase2();
            await _cooperationService.DeleteAsync(id);

            return(result);
        }
示例#9
0
        public async Task <object> GetVersion([RegularExpression("IOS|Android", ErrorMessage = "不支持的终端类型")] string terminal, string localVersion = "0")
        {
            MessageBase2 result = new MessageBase2();

            VersionResultModel model = new VersionResultModel();

            string version = await this._versionNotesService.FindAsync(terminal);

            model.IsUpdate = false;

            if (terminal == "IOS")
            {
                model.Url = OtherConfig.AppleDownloadUrl;
            }
            else if (terminal == "Android")
            {
                model.Url = OtherConfig.AndroidDownloadUrl;
            }

            int ve = version.Replace(".", "").ToInt32();

            if (localVersion.Replace(".", "").ToInt32() < ve)
            {
                model.IsUpdate = true;
            }
            result.Data = model;
            return(result);
        }
示例#10
0
        public async Task <object> PostLogin([FromBody] LoginViewModel model)
        {
            MessageBase2 result = new MessageBase2();

            result.Data = new MemberLoginResultModel();

            if (await _memberService.ExistAsync(model.Type, model.UserName) > 0)
            {
                int id = await _memberService.FindAsync(model.Type, model.UserName, model.Password);

                if (id > 0)  //如果用户已经存在,则直接返回
                {
                    var dto = await _memberService.FindAsync(id);

                    result.Success = Permanent.SUCCESS;
                    result.Data    = ConvertHelper.ChangeType <MemberLoginResultModel>(dto);
                }
                else
                {
                    result.Success  = Permanent.FAILED;
                    result.Error    = (int)StatusCodeEnum.UNAUTHORIZED;
                    result.ErrorMsg = "用户名或密码错误";
                }
            }
            else
            {
                result.Success  = Permanent.FAILED;
                result.Error    = (int)StatusCodeEnum.NOT_FOUND;
                result.ErrorMsg = "该用户不存在";
            }

            return(result);
        }
示例#11
0
        public async Task <object> PutDefault(int id)
        {
            MessageBase2 result = new MessageBase2();
            await _mailingAddressService.SetDefaultAsync(id);

            return(result);
        }
示例#12
0
        public async Task <object> PutCensor(int id, [RegularExpression("同意|拒绝", ErrorMessage = "不支持的类型")] string type)
        {
            MessageBase2 result = new MessageBase2();
            await _exchangeService.UpdateExamineAsync(id, type);

            return(result);
        }
示例#13
0
        public async Task <object> Put(int id, int userId)
        {
            MessageBase2 result = new MessageBase2();
            await _exchangeReplyService.LikeAsync(id, userId);

            return(result);
        }
示例#14
0
        public async Task <object> Post(int userId, [FromBody] VoucherViewModel model)
        {
            MessageBase2 result = new MessageBase2();
            await _voucherService.ExchangeAsync(userId, model.Code);

            return(result);
        }
示例#15
0
        public async Task <object> GetCooperation(int userId, int pageIndex, int pageSize)
        {
            MessageBase2 result = new MessageBase2();

            var v = await _cooperationService.FindListAsync(pageIndex, pageSize, userId);

            var page   = ConvertHelper.ChangeType <MessagePageBase2>(v.pageDto);
            var erList = new List <CooperationResultModel>();

            v.dtoList.ForEach(p =>
            {
                erList.Add(new CooperationResultModel()
                {
                    Id        = p.Id,
                    Title     = p.Title,
                    AddTime   = p.AddTime.ToString("yyyy-MM-dd HH:mm:ss"),
                    Nickname  = p.Nickname,
                    Cover     = p.Cover,
                    City      = p.City,
                    PersonNum = p.PersonNum
                });
            });
            page.Data = erList;

            result.Data = page;
            return(result);
        }
示例#16
0
        public async Task <object> PostShenJiaRecharge([FromBody] ShenJiaRechargeViewModel model)
        {
            MessageBase2      result = new MessageBase2();
            RechargeRecordDto dto    = new RechargeRecordDto()
            {
                UserId    = model.UserId,
                OrderNo   = SysHelper.GenerateTradeNo(),
                Money     = model.Money,
                WareDesc  = model.Type, //"身家充值",
                OrderName = model.Type, //"身家充值"
                Type      = model.Type
            };
            int id = await _rechargeRecordService.AddAsync(dto);

            string passbackParams = "merchantType=身家充值&id=" + id;

            if (model.PayType == "Ali")
            {
                result.Data = AliPaySdk.Signature(model.Type, model.Type, model.Money.ToString(CultureInfo.InvariantCulture), dto.OrderNo, passbackParams);
            }
            if (model.PayType == "Wx")
            {
                result.Data = WxPaySdk.UnifiedOrder(model.Type, model.Type, model.Money.ToString(CultureInfo.InvariantCulture), dto.OrderNo, HttpContext.GetUserIp(), passbackParams);
            }

            return(result);
        }
示例#17
0
        public async Task <object> Post([FromForm] List <IFormFile> files)
        {
            MessageBase2  result = new MessageBase2();
            StringBuilder sb     = new StringBuilder();

            foreach (IFormFile file in files)
            {
                var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Value.Trim('"');
                var ext      = System.IO.Path.GetExtension(fileName);
                fileName = SysHelper.RandomFileName() + ext; //文件名

                Stream st  = file.OpenReadStream();
                string md5 = System.DEncryptHelper.MD5Encrypt(st);
                int    id  = await _imgService.FindAsync(md5);

                if (id > 0)
                {
                    sb.Append(id + ",");
                    continue;
                }
                st.Seek(0L, SeekOrigin.Begin);
                Image image  = Image.FromStream(st);
                int   width  = image.Width;                                       //图片宽度
                int   height = image.Height;                                      //图片高度

                int          thumbWidth  = 320;                                   //缩略图宽度
                double       prop        = thumbWidth.ToDouble() / width;
                int          thumbHeight = Math.Ceiling(height * prop).ToInt32(); //缩略图高度
                QCloudHelper qCloud      = new QCloudHelper();

                var b      = qCloud.UploadFile("/upload/photo/", fileName, st);
                var cosDto = new CosFileStatDto()
                {
                    AccessUrl    = b.AccessUrl,
                    Url          = b.Url,
                    SourceUrl    = b.SourceUrl,
                    ResourcePath = b.ResourcePath
                };
                await _cosFileStatService.AddAsync(cosDto);

                ImgDto dto = new ImgDto()
                {
                    ImgPath     = OtherConfig.ImgWebDir + fileName,
                    ThumbPath   = OtherConfig.ImgWebDir + fileName + "/320",
                    Md5         = md5,
                    Width       = width,
                    Height      = height,
                    ThumbWidth  = thumbWidth,
                    ThumbHeight = thumbHeight
                };
                id = await _imgService.AddAsync(dto);

                sb.Append(id + ",");
            }

            result.Data    = sb.ToString().TrimEnd(',');
            result.Success = Permanent.SUCCESS;
            return(result);
        }
示例#18
0
        public async Task <object> UserAgreement(int id)
        {
            MessageBase2 result = new MessageBase2();
            string       count  = (await _quickNavigationService.FindAsync(id)).Cont;

            result.Data = count;
            return(result);
        }
示例#19
0
        public async Task <object> Post([FromBody] LoggingViewModel model)
        {
            MessageBase2 result = new MessageBase2();
            LoggingDto   dto    = ConvertHelper.ChangeType <LoggingDto>(model);
            await _loggingService.AddAsync(dto);

            return(result);
        }
示例#20
0
        public async Task <object> Put(int id, [FromBody] AddressViewModel model)
        {
            MessageBase2 result = new MessageBase2();
            var          dto    = ConvertHelper.ChangeType <AddressDto>(model);
            await _mailingAddressService.UpdateAsync(id, dto);

            return(result);
        }
示例#21
0
        public async Task <object> Put(int id, [FromBody] ExchangeLikeViewModel model)
        {
            MessageBase2 result = new MessageBase2();

            await _exchangeService.LikeAsync(id, model.UserId);

            return(result);
        }
示例#22
0
        public async Task <object> GetConfirm(int exId, [FromQuery] ExchangeConfimViewModel model)
        {
            MessageBase2 result = new MessageBase2();

            if ((model.Examine == "会员租赁" || model.Examine == "单次租赁" || model.Examine == "兑换券") && await this._exchangeService.ExistAsync(model.UserId))  //判断是否已经有租赁
            {
                result.Success  = Permanent.FAILED;
                result.Error    = (int)StatusCodeEnum.UNAUTHORIZED;
                result.ErrorMsg = "已经存在租赁,不能再租赁";
                return(result);
            }
            var resultModel = new ExchangeConfimResultModel();

            var maDto = await _mailingAddressService.GetDefaultAsync(model.UserId);

            var exDto = await _exchangeService.FindAsync(exId);

            resultModel.AddressId = maDto?.Id ?? 0;
            resultModel.Consignee = maDto?.Name;
            resultModel.PhoneMob  = maDto?.Phone;
            resultModel.Address   = maDto?.Province + maDto?.City + maDto?.County + maDto?.Address;
            resultModel.Examine   = model.Examine;
            resultModel.Fare      = exDto.Postage == 0 ? await _postageService.GetPostageAsync() : exDto.Postage; //邮费

            resultModel.Deposit = await _memberService.GetDepositAsync(model.UserId, exDto.Official.ToInt32());

            switch (model.Examine)
            {
            case "身家兑换":
                resultModel.Price    = exDto.Official.ToDecimal();
                resultModel.PriceSum = resultModel.Fare;
                break;

            case "会员租赁":
                resultModel.Price    = 0;
                resultModel.PriceSum = resultModel.Fare + resultModel.Deposit;
                break;

            case "单次租赁":
                resultModel.Price    = exDto.Rent == 0 ? 30 : exDto.Rent;
                resultModel.PriceSum = resultModel.Fare + resultModel.Deposit + resultModel.Price;
                break;

            case "兑换券":
                resultModel.Price    = 0;
                resultModel.Fare     = 0;
                resultModel.PriceSum = resultModel.Deposit;
                break;

            default:
                resultModel.Price = 0;
                break;
            }


            result.Data = resultModel;
            return(result);
        }
示例#23
0
        public async Task <object> GetOrder(int id)
        {
            MessageBase2 result = new MessageBase2();
            var          dto    = await _exchangeService.FindAsync(id);

            result.Data = dto.Official;

            return(result);
        }
示例#24
0
        public async Task <object> PutUpdate(int id, [FromBody] ExchangeViewModel model)
        {
            MessageBase2 result = new MessageBase2();

            ExchangeDto dto = ConvertHelper.ChangeType <ExchangeDto>(model);
            await _exchangeService.UpdateAsync(id, dto);

            return(result);
        }
示例#25
0
        public async Task <object> Post([FromBody] CooperationViewModel model)
        {
            MessageBase2 result = new MessageBase2();

            CooperationDto dto = ConvertHelper.ChangeType <CooperationDto>(model);
            await _cooperationService.AddAsync(dto);

            return(result);
        }
示例#26
0
        public async Task <object> Post([FromBody] ExchangeViewModel model)
        {
            MessageBase2 result = new MessageBase2();

            ExchangeDto dto = ConvertHelper.ChangeType <ExchangeDto>(model);
            await _exchangeService.AddAsync(dto);

            return(result);
        }
示例#27
0
        public async Task <object> GetToken(int userId, string nickname)
        {
            MessageBase2 result = new MessageBase2();
            string       token  = RongCloudHelper.GetToken(userId.ToString(), nickname);
            await _memberService.UpdateRongTokenAsync(userId, token);

            result.Data = token;
            return(result);
        }
示例#28
0
        public async Task <object> Get(int id)
        {
            MessageBase2 result = new MessageBase2();

            MemberDto dto = await _memberService.FindAsync(id);

            result.Data = ConvertHelper.ChangeType <MemberResultModel>(dto);
            return(result);
        }
示例#29
0
        public async Task <object> Post([FromBody] AddressViewModel model)
        {
            MessageBase2 result = new MessageBase2();

            var dto = ConvertHelper.ChangeType <AddressDto>(model);
            int id  = await _mailingAddressService.AddAsync(dto);

            result.Data = id;
            return(result);
        }
示例#30
0
        public async Task <object> SmsCode(string phone)
        {
            MessageBase2 result = new MessageBase2();
            string       code   = PublishBatchSMSMessage.AuthenticationVerifyCode(phone);

            //string code = "123456";
            await _loginCodeService.AddAsync(phone, code);

            return(result);
        }