public async Task <Result> Edit([FromBody] CustomerAddressEditRequest request) { var address = await _addressRepository.FirstOrDefaultAsync(request.Id); if (address == null) { return(Result.Fail(ResultCodes.IdInvalid)); } if (request.IsDefault) { var defaultAddress = await _addressRepository.Query().FirstOrDefaultAsync(e => e.IsDefault); if (defaultAddress != null) { defaultAddress.IsDefault = false; await _addressRepository.UpdateProperyAsync(defaultAddress, nameof(defaultAddress.IsDefault)); } } address.DetailInfo = request.DetailInfo; address.AreaCode = request.AreaCode; address.CityCode = request.CityCode; address.IsDefault = request.IsDefault; address.PostalCode = request.PostalCode; address.ProvinceCode = request.ProvinceCode; address.TelNumber = request.TelNumber; address.UserName = request.UserName; await _addressRepository.UpdateAsync(address); return(Result.Ok()); }
public async Task<Result> Get(int id) { var user = await _repository.FirstOrDefaultAsync(id); if (user == null) return Result.Fail(ResultCodes.IdInvalid); return Result.Ok(_mapper.Map<AdminEmployeeResponse>(user)); }
public async Task <Result> Get(int id) { var category = await _categoryRepository.FirstOrDefaultAsync(id); if (category == null) { return(Result.Fail(ResultCodes.IdInvalid)); } return(Result.Ok(_mapper.Map <AdminCategoryResponse>(category))); }
public async Task <Result> Get(int id) { var goodsOption = await _goodsOptionRepository.FirstOrDefaultAsync(id); if (goodsOption == null) { return(Result.Fail(ResultCodes.IdInvalid)); } return(Result.Ok(_mapper.Map <AdminGoodsOptionResponse>(goodsOption))); }
public async Task <Result> DecryptTel([FromBody] WeChatDecryptTelRequest request) { var userId = HttpContext.GetUserId(); var customer = await _customerRepository.FirstOrDefaultAsync(userId); try { string data = Senparc.Weixin.WxOpen.Helpers.EncryptHelper.DecodeEncryptedData(customer.SessionKey, request.EncryptedData, request.Iv); var decodedPhoneNumber = JsonConvert.DeserializeObject <DecodedPhoneNumber>(data); if (string.IsNullOrEmpty(customer.PhoneNumber)) { customer.PhoneNumber = decodedPhoneNumber.phoneNumber; customer.CountryCode = decodedPhoneNumber.countryCode; await _customerRepository.UpdateProperyAsync(customer, nameof(customer.PhoneNumber), nameof(customer.CountryCode)); } return(Result.Ok()); } catch (Exception ex) { _logger.LogError(ex.Message, ex); } return(Result.Fail(ResultCodes.SysError)); }
public async Task <Result> Agree(int id) { var apply = await _withdrawalHistoryRepository.FirstOrDefaultAsync(id); if (apply == null) { return(Result.Fail(ResultCodes.IdInvalid)); } if (apply.Status != WithdrawalStatus.Apply) { return(Result.Fail(ResultCodes.RequestParamError, "当前申请状态不允许确认")); } var openId = await _custoemrRepository.Query() .Where(e => e.Id == apply.CustomerId) .Select(e => e.OpenId) .FirstOrDefaultAsync(); apply.Status = WithdrawalStatus.Success; apply.Message = "提现成功"; var wxRequest = new WeChatPayPromotionTransfersRequest { PartnerTradeNo = apply.PartnerTradeNo, OpenId = openId, CheckName = "FORCE_CHECK",// "NO_CHECK" ReUserName = apply.Name, Amount = apply.Amount, Desc = "提现" }; var response = await _client.ExecuteAsync(wxRequest, _weChatPayOptions); if (response.ReturnCode != WeChatPayCode.Success || response.ResultCode != WeChatPayCode.Success) { apply.Status = WithdrawalStatus.Failed; apply.Message = "提现异常,请重新申请"; apply.Description = response.ErrCodeDes; await _customerManager.UpdateAssets(apply.CustomerId, 0, apply.Total, -apply.ReservedAmount, "提现失败返回金额"); } await _withdrawalHistoryRepository.UpdateAsync(apply); return(Result.Ok()); }
public async Task <Result> ErrorGet(int id) { var error = await _errorLogRepository.FirstOrDefaultAsync(id); if (error == null) { return(Result.Fail(ResultCodes.IdInvalid)); } return(Result.Ok(_mapper.Map <AdminLogErrorGetResponse>(error))); }
public async Task <Result> Get(int id) { var log = await _requestResponseLogRepository.FirstOrDefaultAsync(id); if (log == null) { return(Result.Fail(ResultCodes.IdInvalid)); } return(Result.Ok(_mapper.Map <AdminLogGetResponse>(log))); }
public async Task <Result> Delete(int id) { var bankCard = await _bankCardRepository.FirstOrDefaultAsync(id); if (bankCard == null) { return(Result.Fail(ResultCodes.IdInvalid)); } await _bankCardRepository.RemoveAsync(bankCard); return(Result.Ok()); }
public async Task <Result> Delete(int id) { var order = await _orderRepository.FirstOrDefaultAsync(id); if (order == null) { return(Result.Fail(ResultCodes.IdInvalid)); } await _orderRepository.RemoveAsync(order); return(Result.Ok()); }
public async Task <Result> Delete(int id) { var shippint = await _shipmentRepository.FirstOrDefaultAsync(id); if (shippint == null) { Result.Fail(ResultCodes.IdInvalid); } await _shipmentRepository.RemoveAsync(shippint); return(Result.Ok()); }
public async Task <Result> Delete(int id) { var partnerApply = await _partnerApplyRepository.FirstOrDefaultAsync(id); if (partnerApply == null) { return(Result.Fail(ResultCodes.IdInvalid)); } await _partnerApplyRepository.RemoveAsync(partnerApply); return(Result.Ok()); }
public async Task <Result> ConfirmSend(int id) { var billing = await _orderBillRepository.FirstOrDefaultAsync(id); if (billing.IsInvoiced) { return(Result.Fail(ResultCodes.IdInvalid, "已开票,不得重复确认")); } billing.IsInvoiced = true; await _orderBillRepository.UpdateProperyAsync(billing, nameof(billing.IsInvoiced)); return(Result.Ok()); }
public async Task <Result> ChangePwd([FromBody] AdminUserChangePwdRequest request) { var id = HttpContext.GetUserId(); var user = await _adminUserRepository.FirstOrDefaultAsync(id); var oldEntryPwd = request.OldPwd.ToMD5Base64(); if (!user.Pwd.Equals(oldEntryPwd)) { return(Result.Fail(ResultCodes.PasswordError)); } var newEntryPwd = request.NewPwd.ToMD5Base64(); user.Pwd = newEntryPwd; await _adminUserRepository.UpdateAsync(user); return(Result.Ok()); }
public async Task <Result> Delete(int id) { var goods = await _goodsRepository.FirstOrDefaultAsync(id); if (goods == null) { return(Result.Fail(ResultCodes.IdInvalid)); } var anyChild = await _goodsRepository.Query().AnyAsync(c => c.ParentId == id); if (anyChild) { return(Result.Fail(ResultCodes.RequestParamError, "当前商品存在商品组合,不允许删除")); } await _goodsRepository.RemoveAsync(goods); return(Result.Ok()); }
public async Task <Result> Delete(int id) { var order = await _orderRepository.FirstOrDefaultAsync(id); if (order == null) { return(Result.Fail(ResultCodes.IdInvalid)); } var status = new OrderStatus[] { OrderStatus.Complete, OrderStatus.Canceled }; if (!status.Contains(order.OrderStatus)) { return(Result.Fail(ResultCodes.RequestParamError, "当前订单状态不允许删除")); } await _orderRepository.RemoveAsync(order); return(Result.Ok()); }
/// <summary> /// 获取用户信息 /// </summary> /// <returns></returns> public Task <Customer> GetUserAsync() { var userId = _accessor.HttpContext.GetUserId(); return(_customerRepository.FirstOrDefaultAsync(userId)); }
public async Task <Result> PayBank([FromBody] WithdrawalPayBankRequest request) { var userId = HttpContext.GetUserId(); var bankCard = await _bankCardRepository.FirstOrDefaultAsync(request.Id); // var user = await _customerRepository.Query().Include(e => e.Assets).FirstOrDefaultAsync(e => e.Id == userId); var assets = await _assetsRepository.Query().FirstOrDefaultAsync(e => e.CustomerId == userId); if (assets == null) { return(Result.Fail(ResultCodes.RequestParamError, "可提现金额不足")); } if (assets.AvailableAmount <= 0) { return(Result.Fail(ResultCodes.RequestParamError, "可提现金额不足")); } if (assets.AvailableAmount < request.Amount) { return(Result.Fail(ResultCodes.RequestParamError, "金额不足")); } if (request.Amount < 100000) { return(Result.Fail(ResultCodes.RequestParamError, "金额不足1000,不可提现")); } var reservedAmount = (int)(request.Amount * 0.2); //保留20%的金额 var amount = request.Amount - reservedAmount; //提现金额 var handlingFee = (int)(request.Amount * 0.001); //微信手续费0.1% if (handlingFee < 100) { handlingFee = 100; } else if (handlingFee > 2500) { handlingFee = 2500; } string partnerTradeNo = DateTime.Now.ToString("yyyyMMdd") + GenerateHelper.GenOrderNo(); var payBankRequest = new PayBankRequest { PartnerTradeNo = partnerTradeNo, Amount = request.Amount, BankCode = bankCard.BankCode, BankNo = bankCard.BankNo, Desc = "提现", TrueName = bankCard.Name }; var payBankResult = await _paymentService.PayBank(payBankRequest); var withdrawalHistory = new WithdrawalHistory { CustomerId = bankCard.CustomerId, Name = bankCard.Name, BankCode = bankCard.BankCode, BankNo = bankCard.BankNo, Amount = amount, ReservedAmount = reservedAmount - reservedAmount, Status = payBankResult.IsSuccess ? WithdrawalStatus.Success : WithdrawalStatus.Failed, Message = payBankResult.Message, PartnerTradeNo = partnerTradeNo, Total = request.Amount, HandlingFee = handlingFee, Createat = DateTime.Now }; _withdrawalHistoryRepository.Insert(withdrawalHistory, false); using (var transaction = _withdrawalHistoryRepository.BeginTransaction()) { await _withdrawalHistoryRepository.SaveAsync(); if (payBankResult.IsSuccess) { await _customerManager.UpdateAssets(assets, -request.Amount, reservedAmount - reservedAmount, "提现"); } transaction.Commit(); } return(Result.Ok(payBankResult)); }