LifePayment/LifePayment.Application.Contracts/Setting/CategoryDto.cs
New file @@ -0,0 +1,718 @@ using DynamicQuery.Net.Dto.Input; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; namespace LifePayment.Application.Contracts { public class CategoryDto { /// <summary> /// 类别Id /// </summary> public Guid Id { get; set; } /// <summary> /// 名称 /// </summary> public string Name { get; set; } /// <summary> /// 排序 /// </summary> public int Sequence { get; set; } /// <summary> /// 简述 /// </summary> public string Sketch { get; set; } /// <summary> /// 图标地址 /// </summary> public string Icon { get; set; } /// <summary> /// 头部图标地址 /// </summary> public string HeadIcon { get; set; } /// <summary> /// 是否显示,true显示,false隐藏 /// </summary> public bool IsVisable { get; set; } /// <summary> /// 是否支持广告 /// </summary> public bool? IsSupportAdvertise { get; set; } /// <summary> /// 序号Id /// </summary> public int? CategoryIntId { get; set; } } public class CategoryAllDto { /// <summary> /// 类别Id /// </summary> public Guid Id { get; set; } /// <summary> /// 名称 /// </summary> public string Name { get; set; } /// <summary> /// 排序 /// </summary> public int Sequence { get; set; } /// <summary> /// 序号Id /// </summary> public int? CategoryIntId { get; set; } } public class GetCategoriesInput { /// <summary> /// 类型:0产品类别,1资讯类别 /// </summary> [RegularExpression(@"[0,1,2,3,4]{1}", ErrorMessage = "类别类型不正确")] public int Type { get; set; } /// <summary> /// 排序信息:默认按Sequence升序 /// </summary> public List<OrderInput> OrderInput { get; set; } = new List<OrderInput> { new OrderInput { Property = "Sequence", Order = DynamicQuery.Net.Enums.OrderTypeEnum.Asc, }, }; } public class GetCategoryQueryInput { /// <summary> /// 类型:0产品类别,1资讯类别 /// </summary> public int? Type { get; set; } /// <summary> /// 是否显示,true显示,false隐藏 /// </summary> public bool? IsVisable { get; set; } public string Name { get; set; } } public class CreateOrUpdateCategoryInput { /// <summary> /// 类别Id /// </summary> public Guid? Id { get; set; } /// <summary> /// 类型:0产品类别,1资讯类别 /// </summary> [RegularExpression(@"[0,1,2,3]{1}", ErrorMessage = "类别类型不正确")] public int Type { get; set; } /// <summary> /// 名称 /// </summary> [Required] [MaxLength(8)] public string Name { get; set; } /// <summary> /// 类别Id /// </summary> public int? CategoryIntId { get; set; } /// <summary> /// 简述 /// </summary> [Required] [MaxLength(50)] public string Sketch { get; set; } /// <summary> /// 排序 /// </summary> public int Sequence { get; set; } /// <summary> /// 图标地址 /// </summary> public string Icon { get; set; } /// <summary> /// 头部图标地址 /// </summary> public string HeadIcon { get; set; } /// <summary> /// 是否支持广告 /// </summary> public bool? IsSupportAdvertise { get; set; } /// <summary> /// 备选图片(封面信息) /// </summary> public List<CoverMsg> CoverInfo { get; set; } } public class SetCategoryVisInput { /// <summary> /// 类别Id /// </summary> public Guid Id { get; set; } /// <summary> /// 类型:0产品类别,1资讯类别 /// </summary> [RegularExpression(@"[0,1,2,3]{1}", ErrorMessage = "类别类型不正确")] public int Type { get; set; } } public class CategoryMenu { /// <summary> /// 类别Id /// </summary> public Guid Id { get; set; } /// <summary> /// 名称 /// </summary> public string Name { get; set; } /// <summary> /// 头部图标地址 /// </summary> public string HeadIcon { get; set; } /// <summary> /// 图标地址 /// </summary> public string Icon { get; set; } /// <summary> /// 封面信息 /// </summary> public IEnumerable<CoverMsg> Covers { get; set; } /// <summary> /// 简述 /// </summary> public string Sketch { get; set; } /// <summary> /// 排序 /// </summary> public int Sequence { get; set; } } public class TagMenu { /// <summary> /// 标签Id /// </summary> public Guid Id { get; set; } /// <summary> /// 名称 /// </summary> public string Name { get; set; } /// <summary> /// 类别Id /// </summary> public Guid CategoryId { get; set; } } public class CoverMsg { /// <summary> /// 封面地址 /// </summary> public string Url { get; set; } /// <summary> /// 排序 /// </summary> public int Sequence { get; set; } } public class TagDto { /// <summary> /// 标签Id /// </summary> public Guid Id { get; set; } /// <summary> /// 类别Id /// </summary> public Guid CategoryId { get; set; } /// <summary> /// /// 行业服务 = 0 行业配套 = 1 甲方需求 = 2 行业资讯 = 3; /// </summary> public int? CategoryType { get; set; } /// <summary> /// 类别名称 /// </summary> public string CategoryName { get; set; } /// <summary> /// 名称 /// </summary> public string Name { get; set; } /// <summary> /// 排序 /// </summary> public int Sequence { get; set; } /// <summary> /// 是否显示,默认为true 显示 /// </summary> public bool IsVisable { get; set; } public Guid? CreatorId { get; set; } } public class GetTagsInput { /// <summary> /// 类型:0产品标签,1资讯标签,3快捷评论标签 /// </summary> [RegularExpression(@"[0,1,2,3,4]{1}", ErrorMessage = "标签类型不正确")] public int Type { get; set; } /// <summary> /// 是否显示,true显示,false隐藏 /// </summary> [System.Text.Json.Serialization.JsonIgnore] public bool? IsVisable { get; set; } /// <summary> /// 类别Id /// </summary> [System.Text.Json.Serialization.JsonIgnore] public Guid? CategoryId { get; set; } public int? CategoryType { get; set; } /// <summary> /// 排序信息:默认按Sequence升序 /// </summary> public List<OrderInput> OrderInput { get; set; } = new List<OrderInput> { new OrderInput { Property = "Sequence", Order = DynamicQuery.Net.Enums.OrderTypeEnum.Asc, }, }; } public class SetTagVisInput { /// <summary> /// 类别Id /// </summary> public Guid Id { get; set; } /// <summary> /// 类型:0产品标签,1资讯标签,3快捷评论标签 /// </summary> [RegularExpression(@"[0,1,2,3,4]{1}", ErrorMessage = "标签类型不正确")] public int Type { get; set; } } public class CreateOrUpdateTagInput { /// <summary> /// 标签Id /// </summary> public Guid? Id { get; set; } /// <summary> /// 类型:0产品标签,1资讯标签,2自定义标签,3快捷评论标签 /// </summary> [RegularExpression(@"[0,1,2,3,4]{1}", ErrorMessage = "标签类型不正确")] public int Type { get; set; } /// <summary> /// 类别Id /// </summary> public Guid CategoryId { get; set; } /// <summary> /// 行业服务 = 0 行业配套 = 1 甲方需求 = 2 行业资讯 = 3; /// </summary> public int CategoryType { get; set; } /// <summary> /// 名称 /// </summary> [Required] [MaxLength(8)] public string Name { get; set; } /// <summary> /// 排序 /// </summary> public int Sequence { get; set; } } public class AreaDto { /// <summary> /// 编码 /// </summary> public int AreaCode { get; set; } /// <summary> /// 父级编码 /// </summary> public int? ParentCode { get; set; } /// <summary> /// 名称 /// </summary> public string AreaName { get; set; } /// <summary> /// 1省 2市 3区 4镇 /// </summary> public int? Layer { get; set; } /// <summary> /// 排序 /// </summary> public int? Sort { get; set; } } public class GetAreaListInput { /// <summary> /// 1省 2市 3区 4镇 /// </summary> public int? Layer { get; set; } /// <summary> /// 是否需要镇信息 /// </summary> [System.Text.Json.Serialization.JsonIgnore] public bool NeedTown { get; set; } /// <summary> /// 父级编码 /// </summary> public int? ParentCode { get; set; } } public class CategoryInfo : CategoryDto { /// <summary> /// 类型:0产品类别,1资讯类别 /// </summary> public int Type { get; set; } /// <summary> /// 封面信息 /// </summary> public IEnumerable<CoverMsg> Covers { get; set; } } public class AdvertisePriceInfo { /// <summary> /// 广告价位配置Id /// </summary> public Guid Id { get; set; } /// <summary> /// 广告类型:0产品服务,1行业资讯 /// </summary> public int Type { get; set; } /// <summary> /// 广告位置:0首页一级,1首页二级,2详情页推荐 /// </summary> public int Position { get; set; } /// <summary> /// 状态:-10已下架,10上架/显示中 /// </summary> public int Status { get; set; } /// <summary> /// 价格信息 /// </summary> public IEnumerable<PeriodPriceInfo> Prices { get; set; } } public class GetAdvertisePricesInput { /// <summary> /// 广告类型:0产品服务,1行业资讯 /// </summary> public int? Type { get; set; } /// <summary> /// 广告位置:0首页一级,1首页二级,2详情页推荐 /// </summary> public int? Position { get; set; } } public class PeriodPriceInfo { /// <summary> /// 投放周期类型:1天,7周,30月,90季,365年 /// </summary> [RegularExpression(@"1|7|30|90|365", ErrorMessage = "投放周期类型不正确")] public int PeriodType { get; set; } /// <summary> /// 价格 /// </summary> public decimal Price { get; set; } } public class CreateOrUpdateAdvertisePriceInput { /// <summary> /// 广告类型:0产品服务,1行业资讯 /// </summary> [RegularExpression(@"0|1", ErrorMessage = "广告类型不正确")] public int Type { get; set; } /// <summary> /// 广告位置:0首页一级,1首页二级,2详情页推荐 /// </summary> [RegularExpression(@"0|1|2", ErrorMessage = "广告位置不正确")] public int Position { get; set; } /// <summary> /// 价格信息 /// </summary> public List<PeriodPriceInfo> Prices { get; set; } } public class GetAdvertisePriceInfosInput { /// <summary> /// 排序信息:默认按广告类型:Type、广告位置:Position升序 /// </summary> public List<OrderInput> OrderInput { get; set; } = new List<OrderInput> { new OrderInput { Property = "Type", Order = DynamicQuery.Net.Enums.OrderTypeEnum.Asc, }, new OrderInput { Property = "Position", Order = DynamicQuery.Net.Enums.OrderTypeEnum.Asc, }, }; } public class CreateOrUpdateRewardPercentageInput { /// <summary> /// Up主等级 /// </summary> public int UpLevel { get; set; } /// <summary> /// Up主占比 /// </summary> public decimal UpRatio { get; set; } /// <summary> /// 平台占比 /// </summary> public decimal PlatformRatio { get; set; } } public class RewardPercentageInfo { /// <summary> /// Up主等级 /// </summary> public int UpLevel { get; set; } /// <summary> /// Up主占比 /// </summary> public decimal UpRatio { get; set; } /// <summary> /// 平台占比 /// </summary> public decimal PlatformRatio { get; set; } } public class GetRewardPercentagesInput { /// <summary> /// 排序信息:默认按Up主等级:UpLevel升序 /// </summary> public List<OrderInput> OrderInput { get; set; } = new List<OrderInput> { new OrderInput { Property = "UpLevel", Order = DynamicQuery.Net.Enums.OrderTypeEnum.Asc, }, }; } public class InitSettingInfo { /// <summary> /// 平台自营服务商名称 /// </summary> public string SelfSupportingServiceName { get; set; } /// <summary> /// 平台服务电话 /// </summary> public string PlatServicePhone { get; set; } } public class AreaInfo { public int AreaCode { get; set; } public int? ParentId { get; set; } public string AreaName { get; set; } /// <summary> /// 1省 2市 3区 4镇 /// </summary> public int? Layer { get; set; } public int? Sort { get; set; } public List<AreaInfo> Children { get; set; } /// <summary> /// 简易拼音 /// </summary> public string SimpleSpelling { get; set; } /// <summary> /// 快速检索 /// </summary> public string QuickQuery { get; set; } } public class PlatformContactList { public Guid Id { get; set; } /// <summary> /// 行业服务 = 0 行业配套 = 1 甲方需求 = 2 行业资讯 = 3; /// </summary> [Required] public int CategoryType { get; set; } public Guid CategoryId { get; set; } public string CategoryName { get; set; } /// <summary> /// 联系方式 /// </summary> [Required] public string ContactPhone { get; set; } } public class CreateOrEditPlatformContactInput { public Guid? Id { get; set; } /// <summary> /// 行业服务 = 0 行业配套 = 1 甲方需求 = 2 行业资讯 = 3; /// </summary> [Required] public int CategoryType { get; set; } public Guid CategoryId { get; set; } /// <summary> /// 联系方式 /// </summary> [Required] public string ContactPhone { get; set; } } /// <summary> /// 用户认证相关配置参数 /// </summary> public class UserCertificationSettingInfo { /// <summary> /// 收款账号 /// </summary> public string ReceivingAccount { get; set; } /// <summary> /// 收款公司名 /// </summary> public string ReceivingCompanyName { get; set; } /// <summary> /// 收款开户银行 /// </summary> public string ReceivingBankName { get; set; } /// <summary> /// 用户认证费用 /// </summary> public decimal UserCertificationAmount { get; set; } /// <summary> /// 用户认证收款备注 /// </summary> public string UserCertificationReceivingRemark { get; set; } public string EnterprisePowerAttorneyTempPath { get; set; } public string AuthenticationHelpUrl { get; set; } public string IDPhoteTempPath { get; set; } /// <summary> /// 线下支付汇款天数(单位:天) /// </summary> public int OfflinePayEndDays { get; set; } = 3; /// <summary> /// 线下支付汇款最晚时间 /// </summary> public DateTime OfflinePayEndTime { get; set; } } } LifePayment/LifePayment.Application.Contracts/Setting/IAreaService.cs
New file @@ -0,0 +1,13 @@ using System.Collections.Generic; using System.Threading.Tasks; using Volo.Abp.Application.Services; namespace LifePayment.Application.Contracts { public interface IAreaService : IApplicationService { Task<List<AreaDto>> GetAreaList(GetAreaListInput input); Task<List<AreaInfo>> GetRegionalManagementList(); } } LifePayment/LifePayment.Application.Contracts/User/IAccountService.cs
@@ -10,6 +10,7 @@ #region life pay Task<WxMiniAppIndentityInfo> GetLifePayWxIndentity(string code); /// <summary> /// 手机验证码登录 LifePayment/LifePayment.Application.Contracts/User/QrCodeLogin.cs
@@ -15,13 +15,28 @@ [Required(ErrorMessage = "{0}不能为空")] [RegularExpression(LifePaymentConstant.RegularExpression.PhoneNumberRegEx, ErrorMessage = "{0}格式错误")] public string PhoneNumber { get; set; } /// <summary> /// 验证码 /// </summary> //[Required] //public string Code { get; set; } } public class WxMiniAppIndentityInfo { /// <summary> /// 会话密钥 /// </summary> public string SessionKey { get; set; } /// <summary> /// 小程序OpenId /// </summary> public string OpenId { get; set; } /// <summary> /// 用户名(该值为空则需手机授权登录,不为空则已有该小程序用户) /// </summary> public string UserName { get; set; } /// <summary> /// /// </summary> public string UnionId { get; set; } } } LifePayment/LifePayment.Application/Setting/AreaService.cs
New file @@ -0,0 +1,96 @@ using LifePayment.Application.Contracts; using LifePayment.Domain.Models; using LifePayment.Domain.Shared; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Volo.Abp.Application.Services; using Volo.Abp.Domain.Repositories; namespace LifePayment.Application { public class AreaService : ApplicationService, IAreaService { private readonly IRepository<Area, Guid> _areaRepository; public AreaService( IRepository<Area, Guid> areaRepository) { _areaRepository = areaRepository; } public async Task<List<AreaDto>> GetAreaList(GetAreaListInput input) { var query = _areaRepository.Where(s => (input.NeedTown || s.Layer != LifePaymentConstant.AreaLayerType.镇) && s.IsEnable).Select(r => new AreaDto { AreaCode = r.AreaCode, ParentCode = r.ParentId, AreaName = r.AreaName, Layer = r.Layer, Sort = r.Sort, }); if (input != null) { if (input.Layer.HasValue) { query = query.Where(s => s.Layer == input.Layer); } if (input.ParentCode.HasValue) { query = query.Where(s => s.ParentCode == input.ParentCode); } } return await query.ToListAsync(); } public async Task<List<AreaInfo>> GetRegionalManagementList() { var result = new List<AreaInfo>(); var area = await _areaRepository.Where(r => r.Layer != LifePaymentConstant.AreaLayerType.镇 && r.IsEnable).Select(s => new { s.AreaCode, s.AreaName, s.Layer, s.Sort, s.ParentId, s.QuickQuery, s.SimpleSpelling }).ToListAsync(); result = area.Where(r => r.Layer == LifePaymentConstant.AreaLayerType.省).Select(s => new AreaInfo { AreaCode = s.AreaCode, AreaName = s.AreaName, Layer = s.Layer, Sort = s.Sort, ParentId = s.ParentId, QuickQuery = s.QuickQuery, SimpleSpelling = s.SimpleSpelling, Children = area.Where(r => r.Layer == LifePaymentConstant.AreaLayerType.市 && r.ParentId == s.AreaCode).Select(s => new AreaInfo { AreaCode = s.AreaCode, AreaName = s.AreaName, Layer = s.Layer, Sort = s.Sort, ParentId = s.ParentId, QuickQuery = s.QuickQuery, SimpleSpelling = s.SimpleSpelling, Children = area.Where(d => d.Layer == LifePaymentConstant.AreaLayerType.区县 && d.ParentId == s.AreaCode).Select(s => new AreaInfo { AreaCode = s.AreaCode, AreaName = s.AreaName, Layer = s.Layer, Sort = s.Sort, ParentId = s.ParentId, QuickQuery = s.QuickQuery, SimpleSpelling = s.SimpleSpelling, }).ToList() }).ToList() }).ToList(); return result; } } } LifePayment/LifePayment.Application/User/AccountService.cs
@@ -1,4 +1,5 @@ using LifePayment.Application.Contracts; using LifePayment.Domain; using LifePayment.Domain.Models; using Microsoft.EntityFrameworkCore; using System; @@ -9,31 +10,44 @@ using Volo.Abp.Domain.Repositories; using ZeroD.Util; namespace HumanResourcesServices.Application namespace LifePayment.Application { public class AccountService : ApplicationService, IAccountService { private readonly IWxManager _wxManager; private readonly IRepository<LifePayUser, Guid> _lifePayUserRepository; public AccountService( IWxManager wxManager, IRepository<LifePayUser, Guid> lifePayUserRepository ) { _wxManager = wxManager; _lifePayUserRepository = lifePayUserRepository; } #region 查询 public async Task<WxMiniAppIndentityInfo> GetLifePayWxIndentity(string code) { var res = await _wxManager.GetWxOauth2AccessToken(code); var result = new WxMiniAppIndentityInfo { SessionKey = res.SessionKey, OpenId = res.OpenId, UnionId = res.UnionId }; return result; } #endregion #region 操作 #region life pay LifePayment/LifePayment.Domain/Common/Area.cs
New file @@ -0,0 +1,28 @@ using System; using Volo.Abp.Domain.Entities.Auditing; namespace LifePayment.Domain.Models { public class Area : FullAuditedAggregateRoot<Guid> { public int? ParentId { get; set; } public int AreaCode { get; set; } public string AreaName { get; set; } public string QuickQuery { get; set; } public string Description { get; set; } public int Layer { get; set; } public int? SortCode { get; set; } public int? Sort { get; set; } public string SimpleSpelling { get; set; } public bool IsEnable { get; set; } } } LifePayment/LifePayment.EntityFrameworkCore/LifePaymentServicesDbContext.cs
@@ -22,7 +22,7 @@ public virtual DbSet<LifePayRate> LifePayRate { get; set; } public virtual DbSet<Area> Area { get; set; } public virtual DbSet<LifePayChannles> LifePayChannles { get; set; } LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
@@ -4,6 +4,13 @@ <name>LifePayment.HttpApi</name> </assembly> <members> <member name="M:LifePayment.HttpApi.AccountController.GetLifePayWxIndentity(System.String)"> <summary> 获取生活缴费用户身份会话信息 </summary> <param name="code">用户登录凭证</param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.AccountController.LifePayPhoneMesssageCodeLogin(LifePayment.Application.Contracts.LifePayPhoneMesssageCodeLoginInput)"> <summary> life pay手机验证码登录 @@ -12,6 +19,31 @@ <returns></returns> <exception cref="T:Volo.Abp.UserFriendlyException"></exception> </member> <member name="M:LifePayment.HttpApi.AreaController.GetAreaList"> <summary> 获取省市区 </summary> <returns></returns> </member> <member name="M:LifePayment.HttpApi.AreaController.GetApplicableAreaList"> <summary> 资讯管理--适用区域 </summary> <returns></returns> </member> <member name="M:LifePayment.HttpApi.AreaController.GetAreas(LifePayment.Application.Contracts.GetAreaListInput)"> <summary> 获取区域列表(省、市、区) </summary> <param name="input"></param> <returns></returns> </member> <member name="M:LifePayment.HttpApi.AreaController.GetRegionalManagementList"> <summary> 搜索管理--列表(区域管理) </summary> <returns></returns> </member> <member name="M:LifePayment.HttpApi.LifePayController.GetElectricParValue(LifePayment.Domain.Shared.ChannelsBaseInput)"> <summary> 获取电费面值 LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
@@ -763,6 +763,541 @@ 用户id </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryDto.Id"> <summary> 类别Id </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryDto.Name"> <summary> 名称 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryDto.Sequence"> <summary> 排序 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryDto.Sketch"> <summary> 简述 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryDto.Icon"> <summary> 图标地址 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryDto.HeadIcon"> <summary> 头部图标地址 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryDto.IsVisable"> <summary> 是否显示,true显示,false隐藏 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryDto.IsSupportAdvertise"> <summary> 是否支持广告 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryDto.CategoryIntId"> <summary> 序号Id </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryAllDto.Id"> <summary> 类别Id </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryAllDto.Name"> <summary> 名称 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryAllDto.Sequence"> <summary> 排序 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryAllDto.CategoryIntId"> <summary> 序号Id </summary> </member> <member name="P:LifePayment.Application.Contracts.GetCategoriesInput.Type"> <summary> 类型:0产品类别,1资讯类别 </summary> </member> <member name="P:LifePayment.Application.Contracts.GetCategoriesInput.OrderInput"> <summary> 排序信息:默认按Sequence升序 </summary> </member> <member name="P:LifePayment.Application.Contracts.GetCategoryQueryInput.Type"> <summary> 类型:0产品类别,1资讯类别 </summary> </member> <member name="P:LifePayment.Application.Contracts.GetCategoryQueryInput.IsVisable"> <summary> 是否显示,true显示,false隐藏 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateCategoryInput.Id"> <summary> 类别Id </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateCategoryInput.Type"> <summary> 类型:0产品类别,1资讯类别 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateCategoryInput.Name"> <summary> 名称 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateCategoryInput.CategoryIntId"> <summary> 类别Id </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateCategoryInput.Sketch"> <summary> 简述 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateCategoryInput.Sequence"> <summary> 排序 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateCategoryInput.Icon"> <summary> 图标地址 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateCategoryInput.HeadIcon"> <summary> 头部图标地址 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateCategoryInput.IsSupportAdvertise"> <summary> 是否支持广告 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateCategoryInput.CoverInfo"> <summary> 备选图片(封面信息) </summary> </member> <member name="P:LifePayment.Application.Contracts.SetCategoryVisInput.Id"> <summary> 类别Id </summary> </member> <member name="P:LifePayment.Application.Contracts.SetCategoryVisInput.Type"> <summary> 类型:0产品类别,1资讯类别 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryMenu.Id"> <summary> 类别Id </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryMenu.Name"> <summary> 名称 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryMenu.HeadIcon"> <summary> 头部图标地址 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryMenu.Icon"> <summary> 图标地址 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryMenu.Covers"> <summary> 封面信息 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryMenu.Sketch"> <summary> 简述 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryMenu.Sequence"> <summary> 排序 </summary> </member> <member name="P:LifePayment.Application.Contracts.TagMenu.Id"> <summary> 标签Id </summary> </member> <member name="P:LifePayment.Application.Contracts.TagMenu.Name"> <summary> 名称 </summary> </member> <member name="P:LifePayment.Application.Contracts.TagMenu.CategoryId"> <summary> 类别Id </summary> </member> <member name="P:LifePayment.Application.Contracts.CoverMsg.Url"> <summary> 封面地址 </summary> </member> <member name="P:LifePayment.Application.Contracts.CoverMsg.Sequence"> <summary> 排序 </summary> </member> <member name="P:LifePayment.Application.Contracts.TagDto.Id"> <summary> 标签Id </summary> </member> <member name="P:LifePayment.Application.Contracts.TagDto.CategoryId"> <summary> 类别Id </summary> </member> <member name="P:LifePayment.Application.Contracts.TagDto.CategoryType"> <summary> /// 行业服务 = 0 行业配套 = 1 甲方需求 = 2 行业资讯 = 3; </summary> </member> <member name="P:LifePayment.Application.Contracts.TagDto.CategoryName"> <summary> 类别名称 </summary> </member> <member name="P:LifePayment.Application.Contracts.TagDto.Name"> <summary> 名称 </summary> </member> <member name="P:LifePayment.Application.Contracts.TagDto.Sequence"> <summary> 排序 </summary> </member> <member name="P:LifePayment.Application.Contracts.TagDto.IsVisable"> <summary> 是否显示,默认为true 显示 </summary> </member> <member name="P:LifePayment.Application.Contracts.GetTagsInput.Type"> <summary> 类型:0产品标签,1资讯标签,3快捷评论标签 </summary> </member> <member name="P:LifePayment.Application.Contracts.GetTagsInput.IsVisable"> <summary> 是否显示,true显示,false隐藏 </summary> </member> <member name="P:LifePayment.Application.Contracts.GetTagsInput.CategoryId"> <summary> 类别Id </summary> </member> <member name="P:LifePayment.Application.Contracts.GetTagsInput.OrderInput"> <summary> 排序信息:默认按Sequence升序 </summary> </member> <member name="P:LifePayment.Application.Contracts.SetTagVisInput.Id"> <summary> 类别Id </summary> </member> <member name="P:LifePayment.Application.Contracts.SetTagVisInput.Type"> <summary> 类型:0产品标签,1资讯标签,3快捷评论标签 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateTagInput.Id"> <summary> 标签Id </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateTagInput.Type"> <summary> 类型:0产品标签,1资讯标签,2自定义标签,3快捷评论标签 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateTagInput.CategoryId"> <summary> 类别Id </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateTagInput.CategoryType"> <summary> 行业服务 = 0 行业配套 = 1 甲方需求 = 2 行业资讯 = 3; </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateTagInput.Name"> <summary> 名称 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateTagInput.Sequence"> <summary> 排序 </summary> </member> <member name="P:LifePayment.Application.Contracts.AreaDto.AreaCode"> <summary> 编码 </summary> </member> <member name="P:LifePayment.Application.Contracts.AreaDto.ParentCode"> <summary> 父级编码 </summary> </member> <member name="P:LifePayment.Application.Contracts.AreaDto.AreaName"> <summary> 名称 </summary> </member> <member name="P:LifePayment.Application.Contracts.AreaDto.Layer"> <summary> 1省 2市 3区 4镇 </summary> </member> <member name="P:LifePayment.Application.Contracts.AreaDto.Sort"> <summary> 排序 </summary> </member> <member name="P:LifePayment.Application.Contracts.GetAreaListInput.Layer"> <summary> 1省 2市 3区 4镇 </summary> </member> <member name="P:LifePayment.Application.Contracts.GetAreaListInput.NeedTown"> <summary> 是否需要镇信息 </summary> </member> <member name="P:LifePayment.Application.Contracts.GetAreaListInput.ParentCode"> <summary> 父级编码 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryInfo.Type"> <summary> 类型:0产品类别,1资讯类别 </summary> </member> <member name="P:LifePayment.Application.Contracts.CategoryInfo.Covers"> <summary> 封面信息 </summary> </member> <member name="P:LifePayment.Application.Contracts.AdvertisePriceInfo.Id"> <summary> 广告价位配置Id </summary> </member> <member name="P:LifePayment.Application.Contracts.AdvertisePriceInfo.Type"> <summary> 广告类型:0产品服务,1行业资讯 </summary> </member> <member name="P:LifePayment.Application.Contracts.AdvertisePriceInfo.Position"> <summary> 广告位置:0首页一级,1首页二级,2详情页推荐 </summary> </member> <member name="P:LifePayment.Application.Contracts.AdvertisePriceInfo.Status"> <summary> 状态:-10已下架,10上架/显示中 </summary> </member> <member name="P:LifePayment.Application.Contracts.AdvertisePriceInfo.Prices"> <summary> 价格信息 </summary> </member> <member name="P:LifePayment.Application.Contracts.GetAdvertisePricesInput.Type"> <summary> 广告类型:0产品服务,1行业资讯 </summary> </member> <member name="P:LifePayment.Application.Contracts.GetAdvertisePricesInput.Position"> <summary> 广告位置:0首页一级,1首页二级,2详情页推荐 </summary> </member> <member name="P:LifePayment.Application.Contracts.PeriodPriceInfo.PeriodType"> <summary> 投放周期类型:1天,7周,30月,90季,365年 </summary> </member> <member name="P:LifePayment.Application.Contracts.PeriodPriceInfo.Price"> <summary> 价格 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateAdvertisePriceInput.Type"> <summary> 广告类型:0产品服务,1行业资讯 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateAdvertisePriceInput.Position"> <summary> 广告位置:0首页一级,1首页二级,2详情页推荐 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateAdvertisePriceInput.Prices"> <summary> 价格信息 </summary> </member> <member name="P:LifePayment.Application.Contracts.GetAdvertisePriceInfosInput.OrderInput"> <summary> 排序信息:默认按广告类型:Type、广告位置:Position升序 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateRewardPercentageInput.UpLevel"> <summary> Up主等级 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateRewardPercentageInput.UpRatio"> <summary> Up主占比 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrUpdateRewardPercentageInput.PlatformRatio"> <summary> 平台占比 </summary> </member> <member name="P:LifePayment.Application.Contracts.RewardPercentageInfo.UpLevel"> <summary> Up主等级 </summary> </member> <member name="P:LifePayment.Application.Contracts.RewardPercentageInfo.UpRatio"> <summary> Up主占比 </summary> </member> <member name="P:LifePayment.Application.Contracts.RewardPercentageInfo.PlatformRatio"> <summary> 平台占比 </summary> </member> <member name="P:LifePayment.Application.Contracts.GetRewardPercentagesInput.OrderInput"> <summary> 排序信息:默认按Up主等级:UpLevel升序 </summary> </member> <member name="P:LifePayment.Application.Contracts.InitSettingInfo.SelfSupportingServiceName"> <summary> 平台自营服务商名称 </summary> </member> <member name="P:LifePayment.Application.Contracts.InitSettingInfo.PlatServicePhone"> <summary> 平台服务电话 </summary> </member> <member name="P:LifePayment.Application.Contracts.AreaInfo.Layer"> <summary> 1省 2市 3区 4镇 </summary> </member> <member name="P:LifePayment.Application.Contracts.AreaInfo.SimpleSpelling"> <summary> 简易拼音 </summary> </member> <member name="P:LifePayment.Application.Contracts.AreaInfo.QuickQuery"> <summary> 快速检索 </summary> </member> <member name="P:LifePayment.Application.Contracts.PlatformContactList.CategoryType"> <summary> 行业服务 = 0 行业配套 = 1 甲方需求 = 2 行业资讯 = 3; </summary> </member> <member name="P:LifePayment.Application.Contracts.PlatformContactList.ContactPhone"> <summary> 联系方式 </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrEditPlatformContactInput.CategoryType"> <summary> 行业服务 = 0 行业配套 = 1 甲方需求 = 2 行业资讯 = 3; </summary> </member> <member name="P:LifePayment.Application.Contracts.CreateOrEditPlatformContactInput.ContactPhone"> <summary> 联系方式 </summary> </member> <member name="T:LifePayment.Application.Contracts.UserCertificationSettingInfo"> <summary> 用户认证相关配置参数 </summary> </member> <member name="P:LifePayment.Application.Contracts.UserCertificationSettingInfo.ReceivingAccount"> <summary> 收款账号 </summary> </member> <member name="P:LifePayment.Application.Contracts.UserCertificationSettingInfo.ReceivingCompanyName"> <summary> 收款公司名 </summary> </member> <member name="P:LifePayment.Application.Contracts.UserCertificationSettingInfo.ReceivingBankName"> <summary> 收款开户银行 </summary> </member> <member name="P:LifePayment.Application.Contracts.UserCertificationSettingInfo.UserCertificationAmount"> <summary> 用户认证费用 </summary> </member> <member name="P:LifePayment.Application.Contracts.UserCertificationSettingInfo.UserCertificationReceivingRemark"> <summary> 用户认证收款备注 </summary> </member> <member name="P:LifePayment.Application.Contracts.UserCertificationSettingInfo.OfflinePayEndDays"> <summary> 线下支付汇款天数(单位:天) </summary> </member> <member name="P:LifePayment.Application.Contracts.UserCertificationSettingInfo.OfflinePayEndTime"> <summary> 线下支付汇款最晚时间 </summary> </member> <member name="M:LifePayment.Application.Contracts.IAccountService.LifePayPhoneMesssageCodeLogin(LifePayment.Application.Contracts.LifePayPhoneMesssageCodeLoginInput)"> <summary> 手机验证码登录 @@ -777,5 +1312,25 @@ 手机号 </summary> </member> <member name="P:LifePayment.Application.Contracts.WxMiniAppIndentityInfo.SessionKey"> <summary> 会话密钥 </summary> </member> <member name="P:LifePayment.Application.Contracts.WxMiniAppIndentityInfo.OpenId"> <summary> 小程序OpenId </summary> </member> <member name="P:LifePayment.Application.Contracts.WxMiniAppIndentityInfo.UserName"> <summary> 用户名(该值为空则需手机授权登录,不为空则已有该小程序用户) </summary> </member> <member name="P:LifePayment.Application.Contracts.WxMiniAppIndentityInfo.UnionId"> <summary> </summary> </member> </members> </doc> LifePayment/LifePayment.HttpApi/LifePay/AccountController.cs
@@ -34,6 +34,17 @@ #region life pay /// <summary> /// 获取生活缴费用户身份会话信息 /// </summary> /// <param name="code">用户登录凭证</param> /// <returns></returns> [HttpGet] [AllowAnonymous] public async Task<WxMiniAppIndentityInfo> GetLifePayWxIndentity(string code) { return await _accountService.GetLifePayWxIndentity(code); } /// <summary> /// life pay手机验证码登录 LifePayment/LifePayment.HttpApi/LifePay/AreaController.cs
New file @@ -0,0 +1,85 @@ using LifePayment.Application.Contracts; using LifePayment.Domain.Shared; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System.Collections.Generic; using System.Threading.Tasks; using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.Caching; using Volo.Abp.Uow; namespace LifePayment.HttpApi { [Route("api/[controller]/[action]")] [ApiController] [Authorize] public class AreaController : AbpController { private readonly IAreaService _areaService; private readonly IDistributedCache<List<AreaInfo>> _distributedCache; private readonly IDistributedCache<List<AreaDto>> _distributedAreaCache; public AreaController( IDistributedCache<List<AreaInfo>> distributedCache, IDistributedCache<List<AreaDto>> distributedAreaCache, IAreaService areaService) { _areaService = areaService; _distributedCache = distributedCache; _distributedAreaCache = distributedAreaCache; } /// <summary> /// 获取省市区 /// </summary> /// <returns></returns> [HttpGet] [AllowAnonymous] public async Task<List<AreaDto>> GetAreaList() { return await _distributedAreaCache.GetOrAddAsync(LifePaymentConstant.区域信息缓存key, async () => { return await _areaService.GetAreaList(new GetAreaListInput()); }); } /// <summary> /// 资讯管理--适用区域 /// </summary> /// <returns></returns> [HttpGet] public async Task<List<AreaDto>> GetApplicableAreaList() { return await _areaService.GetAreaList(new GetAreaListInput { Layer = LifePaymentConstant.AreaLayerType.省, }); } /// <summary> /// 获取区域列表(省、市、区) /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [UnitOfWork(IsDisabled = true)] public async Task<List<AreaDto>> GetAreas(GetAreaListInput input) { return await _areaService.GetAreaList(input); } /// <summary> /// 搜索管理--列表(区域管理) /// </summary> /// <returns></returns> [HttpGet] [AllowAnonymous] public async Task<List<AreaInfo>> GetRegionalManagementList() { return await _distributedCache.GetOrAddAsync(LifePaymentConstant.区域信息缓存key2, async () => { return await _areaService.GetRegionalManagementList(); }); } } }