| | |
| | | using Z.EntityFramework.Plus; |
| | | using LifePayment.Domain.LifePay; |
| | | using pingan.openbank.api.sdk.enums; |
| | | using System.Linq.Dynamic.Core; |
| | | using static Volo.Abp.Identity.Settings.IdentitySettingNames; |
| | | |
| | | namespace LifePayment.Application; |
| | | |
| | |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | public async Task<PageOutput<UserListOutput>> GetUserPage(PageInput input) |
| | | public async Task<PageOutput<UserListOutput>> GetUserPage(QueryUserPageInput input) |
| | | { |
| | | return await _lifePayUserRepository.Select(x => |
| | | return await _lifePayUserRepository.Where(x => x.IsDeleted == false) |
| | | .WhereIf(!string.IsNullOrEmpty(input.QueryCondition), x => x.PhoneNumber.Contains(input.QueryCondition) || x.Name.Contains(input.QueryCondition)) |
| | | .WhereIf(input.CreationTime.HasValue, x => x.CreationTime.ToString("yyyy-MM-dd") == input.CreationTime.Value.ToString("yyyy-MM-dd")) |
| | | .Select(x => |
| | | new UserListOutput() |
| | | { |
| | | Id = x.Id, |
| | | CreationChannle = string.IsNullOrEmpty(x.CreationChannleNum) ? "" : _lifePayChannlesRep.Where(c => c.ChannlesNum == x.CreationChannleNum).FirstOrDefault().ChannlesName, |
| | | LastLoginChannle = string.IsNullOrEmpty(x.LastLoginChannleNum) ? "" : _lifePayChannlesRep.Where(c => c.ChannlesNum == x.LastLoginChannleNum).FirstOrDefault().ChannlesName, |
| | | PhoneNumber = x.PhoneNumber, |
| | | Name = string.IsNullOrEmpty(x.Name) ? "" : x.Name, |
| | | CreationTime = x.CreationTime, |
| | | LastLoginTime = x.LastLoginTime |
| | | }) |
| | |
| | | await _lifePayOrderRepository.UpdateAsync(order); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 微信退款 |
| | | /// </summary> |
| | | /// <param name="outTradeNo"></param> |
| | | /// <param name="reason"></param> |
| | | /// <param name="refund"></param> |
| | | /// <param name="total"></param> |
| | | /// <param name="currency"></param> |
| | | /// <returns></returns> |
| | | public async Task<WxPayDomesticRefundsReponse> WxPayDomesticRefunds(string outTradeNo, string reason, int refund, int total, string currency = "CNY") |
| | | { |
| | | WxPayDomesticRefundsRequest req = new WxPayDomesticRefundsRequest |
| | |
| | | return res; |
| | | } |
| | | |
| | | |
| | | |
| | | public async Task<int> AddUpdateUserAccount(AddUpdateUserAccountInput input) |
| | | { |
| | | var user = await _lifePayUserRepository.Where(r => r.Id == input.UserId && !r.IsDeleted).FirstOrDefaultAsync(); |
| | | CheckExtensions.IfTrueThrowUserFriendlyException(user == null, "用户不存在"); |
| | | |
| | | if (input.Id.HasValue) |
| | | { |
| | | var userAccount = await _lifePayAccount.Where(x => x.UserId == input.UserId && x.Id == input.Id) |
| | |
| | | await _lifePayAccount.InsertAsync(userAccount); |
| | | } |
| | | |
| | | if (input.LifePayType == LifePayOrderTypeEnum.话费订单) |
| | | { |
| | | var extraProperties = JsonConvert.DeserializeObject<Model_UserAccountExtraProperties>(input.ExtraProperties); |
| | | if (!string.IsNullOrEmpty(extraProperties.Name)) |
| | | { |
| | | user.Name = extraProperties.Name; |
| | | } |
| | | } |
| | | |
| | | |
| | | return Constant.SUCCESS; |
| | | } |
| | | |