| LifePayment/LifePayment.Application.Contracts/User/IAccountService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| LifePayment/LifePayment.Application.Contracts/User/QrCodeLogin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| LifePayment/LifePayment.Application/User/AccountService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| LifePayment/LifePayment.HttpApi/LifePay/AccountController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| LifePayment/LifePayment.HttpApi/LifePay/ChannelFilterAttribute.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
LifePayment/LifePayment.Application.Contracts/User/IAccountService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ using System; using System.Threading.Tasks; using Volo.Abp; using Volo.Abp.Application.Services; namespace LifePayment.Application.Contracts { public interface IAccountService : IApplicationService { #region life pay /// <summary> /// ææºéªè¯ç ç»å½ /// çæ¬è¯´æï¼ä½¿ç¨éªè¯ç 管ç廿 ¡éªå失æå¯¹åºä¸å¡çéªè¯ç /// </summary> /// <param name="input"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> Task<Guid> LifePayPhoneMesssageCodeLogin(LifePayPhoneMesssageCodeLoginInput input); #endregion } } LifePayment/LifePayment.Application.Contracts/User/QrCodeLogin.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ using LifePayment.Domain.Shared; using System.ComponentModel; using System.ComponentModel.DataAnnotations; namespace LifePayment.Application.Contracts { public class LifePayPhoneMesssageCodeLoginInput : ChannelsBaseInput { /// <summary> /// ææºå· /// </summary> [DisplayName("ææºå·")] [Required(ErrorMessage = "{0}ä¸è½ä¸ºç©º")] [RegularExpression(LifePaymentConstant.RegularExpression.PhoneNumberRegEx, ErrorMessage = "{0}æ ¼å¼é误")] public string PhoneNumber { get; set; } /// <summary> /// éªè¯ç /// </summary> //[Required] //public string Code { get; set; } } } LifePayment/LifePayment.Application/User/AccountService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,88 @@ using LifePayment.Application.Contracts; using LifePayment.Domain.Models; using Microsoft.EntityFrameworkCore; using System; using System.Linq; using System.Threading.Tasks; using Volo.Abp; using Volo.Abp.Application.Services; using Volo.Abp.Domain.Repositories; using ZeroD.Util; namespace HumanResourcesServices.Application { public class AccountService : ApplicationService, IAccountService { private readonly IRepository<LifePayUser, Guid> _lifePayUserRepository; public AccountService( IRepository<LifePayUser, Guid> lifePayUserRepository ) { _lifePayUserRepository = lifePayUserRepository; } #region æ¥è¯¢ #endregion #region æä½ #region life pay /// <summary> /// ææºéªè¯ç ç»å½ /// çæ¬è¯´æï¼ä½¿ç¨éªè¯ç 管ç廿 ¡éªå失æå¯¹åºä¸å¡çéªè¯ç /// </summary> /// <param name="input"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> public async Task<Guid> LifePayPhoneMesssageCodeLogin(LifePayPhoneMesssageCodeLoginInput input) { //var vcodeType = VerificationCodeBusinessTypeEnum.LifePayPhoneMesssageCodeLogin; //var checkResult = await _verificationCodeManager.CheckVerificationCodeByBusinessType(vcodeType, // input.PhoneNumber, // input.Code, // true); //CheckExtensions.IfTrueThrowUserFriendlyException(!checkResult, // CustomeErrorMessage.SometingWrongOrSometing, "éªè¯ç ", "已失æ"); var lifeUser = await _lifePayUserRepository.Where(x => x.PhoneNumber == input.PhoneNumber).FirstOrDefaultAsync(); if (lifeUser == null) { lifeUser = new LifePayUser() { Id = GuidGenerator.Create(), PhoneNumber = input.PhoneNumber, LastLoginTime = DateTime.Now }; await _lifePayUserRepository.InsertAsync(lifeUser); } else { lifeUser.LastLoginTime = DateTime.Now; await _lifePayUserRepository.UpdateAsync(lifeUser); } return lifeUser.Id; } #endregion #endregion } } LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
@@ -4,24 +4,44 @@ <name>LifePayment.HttpApi</name> </assembly> <members> <member name="M:LifePayment.HttpApi.LifePayController.GetElectricParValue"> <member name="M:LifePayment.HttpApi.AccountController.LifePayPhoneMesssageCodeLogin(LifePayment.Application.Contracts.LifePayPhoneMesssageCodeLoginInput)"> <summary> life payææºéªè¯ç ç»å½ </summary> <param name="input"></param> <returns></returns> <exception cref="T:Volo.Abp.UserFriendlyException"></exception> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetElectricParValue(LifePayment.Domain.Shared.ChannelsBaseInput)"> <summary> è·åçµè´¹é¢å¼ </summary> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetElectricSupportArea"> <member name="M:LifePayment.HttpApi.LifePayController.GetElectricSupportArea(LifePayment.Domain.Shared.ChannelsBaseInput)"> <summary> è·åçµè´¹å å¼åºå </summary> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetPhoneParValue"> <member name="M:LifePayment.HttpApi.LifePayController.GetPhoneParValue(LifePayment.Domain.Shared.ChannelsBaseInput)"> <summary> è·åè¯è´¹é¢å¼ </summary> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetGasParValue(LifePayment.Domain.Shared.ChannelsBaseInput)"> <summary> è·åçæ°é¢å¼ </summary> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetGasOrgType(LifePayment.Domain.Shared.ChannelsBaseInput)"> <summary> è·åçæ°æ¯æåæ· </summary> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetRate"> <summary> è·åææ£ @@ -49,11 +69,75 @@ <param name="input"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetPayStatusByOrderNo(System.String)"> <member name="M:LifePayment.HttpApi.LifePayController.GetUserLifePayOrderDetail(System.String)"> <summary> è·åæç订å详æ </summary> <param name="orderNo"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetPayStatusByOrderNo(LifePayment.Application.Contracts.GetPayStatusByOrderNoInput)"> <summary> æ ¹æ®è®¢åå·è·åæ¯ä»ç¶æ </summary> <param name="orderNo"></param> <param name="input"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetLifePayChannlesPage(ZeroD.Util.PageInput)"> <summary> è·åç¼´è´¹æ¸ éå表 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetLifePayChannlesDto(System.Guid)"> <summary> è·åæ¸ é详æ </summary> <param name="id"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetUserLifePayOrderRefund(System.Guid)"> <summary> ç¨æ·æ¥ççæ´»ç¼´è´¹é款失败详æ </summary> <param name="id"></param> <returns></returns> <exception cref="T:Volo.Abp.UserFriendlyException"></exception> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetAccountPage(LifePayment.Application.Contracts.QueryUserAccountListInput)"> <summary> è·åç¨æ·æ·å·åé¡µæ°æ® </summary> <param name="input"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetUserAccountList(LifePayment.Application.Contracts.QueryUserAccountListInput)"> <summary> è·åæçæ·å·å表 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetUserAccountAllList(LifePayment.Application.Contracts.QueryUserAccountAllListInput)"> <summary> è·åæçå ¨é¨æ·å·å表 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetUserAccountDetail(System.Guid)"> <summary> è·åæçæ·å·è¯¦æ </summary> <param name="id"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetLifePayOrderPageExport(LifePayment.Application.Contracts.QueryLifePayOrderListInput)"> <summary> 导åºè®¢åExcel </summary> <param name="input"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.CreateLifePayPhoneOrder(LifePayment.Application.Contracts.CreateLifePayOrderInput{LifePayment.Application.Contracts.LifePhoneData})"> @@ -70,6 +154,13 @@ <param name="input"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.CreateLifePayGasOrder(LifePayment.Application.Contracts.CreateLifePayOrderInput{LifePayment.Application.Contracts.LifeGasData})"> <summary> åå»ºçæ´»ç¼´è´¹çæ°è®¢å </summary> <param name="input"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.RefundLifePayOrder(LifePayment.Application.Contracts.RefundLifePayOrderInput)"> <summary> 鿬¾ç活缴费订å @@ -78,6 +169,57 @@ <returns></returns> <exception cref="T:Volo.Abp.UserFriendlyException"></exception> </member> <member name="M:LifePayment.HttpApi.LifePayController.RefundUserLifePayOrder(LifePayment.Application.Contracts.RefundUserLifePayOrderInput)"> <summary> ç¨æ·åèµ·çæ´»ç¼´è´¹é款 </summary> <param name="input"></param> <returns></returns> <exception cref="T:Volo.Abp.UserFriendlyException"></exception> </member> <member name="M:LifePayment.HttpApi.LifePayController.AddUpdateUserAccount(LifePayment.Application.Contracts.AddUpdateUserAccountInput)"> <summary> æ·»å æä¿®æ¹æçæ·å· </summary> <param name="input"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.DeleteUserAccount(System.Guid)"> <summary> å é¤æçæ·å· </summary> <param name="id"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.RejectRefundLifePayOrder(LifePayment.Application.Contracts.RefundLifePayOrderInput)"> <summary> 鿬¾é©³å </summary> <param name="input"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.CreateEditPayChannels(LifePayment.Application.Contracts.CreateEditPayChannelsInput)"> <summary> æ¸ é管ç </summary> <param name="input"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.SetLifePayChannelsStatus(System.Guid,LifePayment.Domain.Shared.LifePayChannelsStatsEnum)"> <summary> è®¾ç½®æ¸ éå¯ç¨ç¶æ </summary> <param name="id"></param> <param name="status"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.CreateEditLifePayRate(System.Collections.Generic.List{LifePayment.Application.Contracts.LifePayRateInput})"> <summary> ææ£é ç½® </summary> <param name="input"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.SetLifePayOrderPayType(LifePayment.Domain.Shared.SetLifePayOrderPayTypeInput)"> <summary> è®¾ç½®çæ´»ç¼´è´¹æ¯ä»ç±»å LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
@@ -763,5 +763,19 @@ ç¨æ·id </summary> </member> <member name="M:LifePayment.Application.Contracts.IAccountService.LifePayPhoneMesssageCodeLogin(LifePayment.Application.Contracts.LifePayPhoneMesssageCodeLoginInput)"> <summary> ææºéªè¯ç ç»å½ çæ¬è¯´æï¼ä½¿ç¨éªè¯ç 管ç廿 ¡éªå失æå¯¹åºä¸å¡çéªè¯ç </summary> <param name="input"></param> <returns></returns> <exception cref="T:Volo.Abp.UserFriendlyException"></exception> </member> <member name="P:LifePayment.Application.Contracts.LifePayPhoneMesssageCodeLoginInput.PhoneNumber"> <summary> ææºå· </summary> </member> </members> </doc> LifePayment/LifePayment.HttpApi/LifePay/AccountController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,57 @@ using LifePayment.Application.Contracts; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Options; using System; using System.Threading.Tasks; using Volo.Abp; using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.WebClientInfo; namespace LifePayment.HttpApi { [Route("api/[controller]/[action]")] [ApiController] public class AccountController : AbpController { private readonly IAccountService _accountService; private readonly IWebClientInfoProvider _webClientInfoProvider; public AccountController( IAccountService accountService, IWebClientInfoProvider webClientInfoProvider ) { _accountService = accountService; _webClientInfoProvider = webClientInfoProvider; } #region life pay /// <summary> /// life payææºéªè¯ç ç»å½ /// </summary> /// <param name="input"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> [HttpPost] [AllowAnonymous] [ChannelFilter] public async Task<Guid> LifePayPhoneMesssageCodeLogin(LifePayPhoneMesssageCodeLoginInput input) { return await _accountService.LifePayPhoneMesssageCodeLogin(input); } #endregion } } LifePayment/LifePayment.HttpApi/LifePay/ChannelFilterAttribute.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,59 @@ using LifePayment.Application.Contracts; using LifePayment.Domain.Shared; using Microsoft.AspNetCore.Mvc.Abstractions; using Microsoft.AspNetCore.Mvc.Filters; using System; using System.Threading.Tasks; using Volo.Abp; using Volo.Abp.AspNetCore.Mvc; namespace LifePayment.HttpApi { public class ChannelFilterAttribute : Attribute, IAsyncActionFilter { public ChannelFilterAttribute() { } public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { if (!context.ActionDescriptor.IsControllerAction()) { await next(); return; } var checkerService = context.GetRequiredService<ILifePayService>(); foreach (var argument in context.ActionArguments) { // æ£æ¥åæ°ç±»åæ¯å¦ä¸º ChannelsBaseInput if (argument.Value is ChannelsBaseInput model) { // è·å Channel åæ°çå¼ string channelValue = model.CheckChannelId; if (!string.IsNullOrEmpty(channelValue)) { var result = await checkerService.CheckChannelsStatus(channelValue); if (result) { await next(); } else { throw new UserFriendlyException("没æå¯¹åºçæ¸ é"); } } } } } } } LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
@@ -1,9 +1,7 @@ using LifePayment.Application.Contracts; using LifePayment.Domain; using LifePayment.Domain.Shared; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; @@ -11,12 +9,7 @@ using Volo.Abp; using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.WebClientInfo; using Volo.Abp.EventBus.Distributed; using Volo.Abp.Identity; using Volo.Abp.Uow; using ZeroD.Util; using ZeroD.Util.Fadd; using LifePayment.Application.Contracts; namespace LifePayment.HttpApi { @@ -42,9 +35,10 @@ /// è·åçµè´¹é¢å¼ /// </summary> /// <returns></returns> [HttpGet] [HttpPost] [AllowAnonymous] public async Task<ElectricParValueResponse> GetElectricParValue() [ChannelFilter] public async Task<ElectricParValueResponse> GetElectricParValue(ChannelsBaseInput input) { return await _lifePayService.GetElectricParValue(); } @@ -53,9 +47,10 @@ /// è·åçµè´¹å å¼åºå /// </summary> /// <returns></returns> [HttpGet] [HttpPost] [AllowAnonymous] public async Task<ElectricSupportAreaResponse> GetElectricSupportArea() [ChannelFilter] public async Task<ElectricSupportAreaResponse> GetElectricSupportArea(ChannelsBaseInput input) { var aresResult = await _lifePayService.GetElectricSupportArea(); var parValues = await _lifePayService.GetElectricParValue(); @@ -78,14 +73,39 @@ /// è·åè¯è´¹é¢å¼ /// </summary> /// <returns></returns> [HttpGet] [HttpPost] [AllowAnonymous] public async Task<PhoneParValueResponse> GetPhoneParValue() [ChannelFilter] public async Task<PhoneParValueResponse> GetPhoneParValue(ChannelsBaseInput input) { return await _lifePayService.GetPhoneParValue(); } /// <summary> /// è·åçæ°é¢å¼ /// </summary> /// <returns></returns> [HttpPost] [AllowAnonymous] [ChannelFilter] public async Task<GasParValueResponse> GetGasParValue(ChannelsBaseInput input) { return await _lifePayService.GetGasParValue(); } /// <summary> /// è·åçæ°æ¯æåæ· /// </summary> /// <returns></returns> [HttpPost] [AllowAnonymous] [ChannelFilter] public async Task<GasOrgTypeValueResponse> GetGasOrgType(ChannelsBaseInput input) { return await _lifePayService.GetGasOrgType(); } /// <summary> /// è·åææ£ /// </summary> /// <returns></returns> @@ -125,21 +145,138 @@ /// <returns></returns> [HttpPost] [AllowAnonymous] [ChannelFilter] public async Task<PageOutput<UserLifePayOrderOutput>> GetUserLifePayOrderPage(QueryLifePayOrderListInput input) { return await _lifePayService.GetUserLifePayOrderPage(input); } /// <summary> /// æ ¹æ®è®¢åå·è·åæ¯ä»ç¶æ /// è·åæç订å详æ /// </summary> /// <param name="orderNo"></param> /// <returns></returns> [HttpGet] [AllowAnonymous] public async Task<LifePayStatusEnum> GetPayStatusByOrderNo(string orderNo) public async Task<UserLifePayOrderOutput> GetUserLifePayOrderDetail(string orderNo) { return await _lifePayService.GetPayStatusByOrderNo(orderNo); return await _lifePayService.GetUserLifePayOrderDetail(orderNo); } /// <summary> /// æ ¹æ®è®¢åå·è·åæ¯ä»ç¶æ /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [AllowAnonymous] [ChannelFilter] public async Task<LifePayStatusEnum> GetPayStatusByOrderNo(GetPayStatusByOrderNoInput input) { return await _lifePayService.GetPayStatusByOrderNo(input.OrderNo); } /// <summary> /// è·åç¼´è´¹æ¸ éå表 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] public async Task<PageOutput<CreateEditPayChannelsInput>> GetLifePayChannlesPage(PageInput input) { return await _lifePayService.GetLifePayChannlesPage(input); } /// <summary> /// è·åæ¸ é详æ /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpGet] public async Task<CreateEditPayChannelsInput> GetLifePayChannlesDto(Guid id) { return await _lifePayService.GetLifePayChannlesDto(id); } /// <summary> /// ç¨æ·æ¥ççæ´»ç¼´è´¹é款失败详æ /// </summary> /// <param name="id"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> [HttpGet] [AllowAnonymous] public async Task<UserLifePayOrderRefundOutput> GetUserLifePayOrderRefund(Guid id) { return await _lifePayService.GetUserLifePayOrderRefund(id); } /// <summary> /// è·åç¨æ·æ·å·åé¡µæ°æ® /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] public async Task<PageOutput<UserAccountOutput>> GetAccountPage(QueryUserAccountListInput input) { return await _lifePayService.GetAccountPage(input); } /// <summary> /// è·åæçæ·å·å表 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [AllowAnonymous] [ChannelFilter] public async Task<PageOutput<UserAccountOutput>> GetUserAccountList(QueryUserAccountListInput input) { return await _lifePayService.GetUserAccountList(input); } /// <summary> /// è·åæçå ¨é¨æ·å·å表 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [AllowAnonymous] [ChannelFilter] public async Task<List<UserAccountOutput>> GetUserAccountAllList(QueryUserAccountAllListInput input) { return await _lifePayService.GetUserAccountAllList(input); } /// <summary> /// è·åæçæ·å·è¯¦æ /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpGet] [AllowAnonymous] public async Task<UserAccountOutput> GetUserAccountDetail(Guid id) { return await _lifePayService.GetUserAccountDetail(id); } /// <summary> /// 导åºè®¢åExcel /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] public async Task<ActionResult> GetLifePayOrderPageExport(QueryLifePayOrderListInput input) { var data = await _lifePayService.GetLifePayOrderPageExport(input); if (data.Any()) { var bytes = ExcelHelper.ListToByteForExcel(data, "xlsx"); return File(bytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "订å管ç" + ".xlsx"); } return Json(default); } #endregion @@ -153,6 +290,7 @@ /// <returns></returns> [HttpPost] [AllowAnonymous] [ChannelFilter] public async Task<CreateLifePayOrderOutput> CreateLifePayPhoneOrder(CreateLifePayOrderInput<LifePhoneData> input) { return await _lifePayService.CreateLifePayPhoneOrder(input); @@ -165,12 +303,26 @@ /// <returns></returns> [HttpPost] [AllowAnonymous] [ChannelFilter] public async Task<CreateLifePayOrderOutput> CreateLifePayElectricOrder(CreateLifePayOrderInput<LifeElectricData> input) { return await _lifePayService.CreateLifePayElectricOrder(input); } /// <summary> /// åå»ºçæ´»ç¼´è´¹çæ°è®¢å /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [AllowAnonymous] [ChannelFilter] public async Task<CreateLifePayOrderOutput> CreateLifePayGasOrder(CreateLifePayOrderInput<LifeGasData> input) { return await _lifePayService.CreateLifePayGasOrder(input); } /// <summary> /// 鿬¾ç活缴费订å /// </summary> /// <param name="input"></param> @@ -184,12 +336,104 @@ } /// <summary> /// ç¨æ·åèµ·çæ´»ç¼´è´¹é款 /// </summary> /// <param name="input"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> [HttpPost] [AllowAnonymous] [ChannelFilter] public async Task<int> RefundUserLifePayOrder(RefundUserLifePayOrderInput input) { await _lifePayService.RefundUserLifePayOrder(input); return Constant.SUCCESS; } /// <summary> /// æ·»å æä¿®æ¹æçæ·å· /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [AllowAnonymous] [ChannelFilter] public async Task<int> AddUpdateUserAccount(AddUpdateUserAccountInput input) { await _lifePayService.AddUpdateUserAccount(input); return Constant.SUCCESS; } /// <summary> /// å é¤æçæ·å· /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpPost] [AllowAnonymous] public async Task<int> DeleteUserAccount(Guid id) { await _lifePayService.DeleteUserAccount(id); return Constant.SUCCESS; } /// <summary> /// 鿬¾é©³å /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] public async Task<int> RejectRefundLifePayOrder(RefundLifePayOrderInput input) { await _lifePayService.RejectRefundLifePayOrder(input); return Constant.SUCCESS; } /// <summary> /// æ¸ é管ç /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] public async Task<int> CreateEditPayChannels(CreateEditPayChannelsInput input) { await _lifePayService.CreateEditPayChannels(input); return Constant.SUCCESS; } /// <summary> /// è®¾ç½®æ¸ éå¯ç¨ç¶æ /// </summary> /// <param name="id"></param> /// <param name="status"></param> /// <returns></returns> [HttpGet] public async Task<int> SetLifePayChannelsStatus(Guid id, LifePayChannelsStatsEnum status) { await _lifePayService.SetLifePayChannelsStatus(id, status); return Constant.SUCCESS; } /// <summary> /// ææ£é ç½® /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] public async Task<int> CreateEditLifePayRate(List<LifePayRateInput> input) { await _lifePayService.CreateEditLifePayRate(input); return Constant.SUCCESS; } /// <summary> /// è®¾ç½®çæ´»ç¼´è´¹æ¯ä»ç±»å /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [AllowAnonymous] [ChannelFilter] public async Task<string> SetLifePayOrderPayType(SetLifePayOrderPayTypeInput input) { @@ -203,6 +447,7 @@ /// <returns></returns> [HttpPost] [AllowAnonymous] [ChannelFilter] public async Task<ModelPaymentMiniPay> GetPayOrderForJsAPI(GetPayOrderForJsAPIInput input) { return await _lifePayService.GetPayOrderForJsAPI(input, _webClientInfoProvider.ClientIpAddress);