From 53ae121a66b937b532ea762905aaa16953442ddc Mon Sep 17 00:00:00 2001
From: lingling <kety1122@163.com>
Date: 星期五, 14 三月 2025 16:39:28 +0800
Subject: [PATCH] 添加地区逻辑
---
LifePayment/LifePayment.Application.Contracts/User/IAccountService.cs | 1
LifePayment/LifePayment.HttpApi/LifePay/AreaController.cs | 85 +++
LifePayment/LifePayment.Application.Contracts/User/QrCodeLogin.cs | 29
LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml | 555 ++++++++++++++++++++
LifePayment/LifePayment.Application.Contracts/Setting/CategoryDto.cs | 718 ++++++++++++++++++++++++++
LifePayment/LifePayment.Domain/Common/Area.cs | 28 +
LifePayment/LifePayment.Application/Setting/AreaService.cs | 96 +++
LifePayment/LifePayment.HttpApi/LifePay/AccountController.cs | 11
LifePayment/LifePayment.Application/User/AccountService.cs | 20
LifePayment/LifePayment.EntityFrameworkCore/LifePaymentServicesDbContext.cs | 2
LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml | 32 +
LifePayment/LifePayment.Application.Contracts/Setting/IAreaService.cs | 13
12 files changed, 1,579 insertions(+), 11 deletions(-)
diff --git a/LifePayment/LifePayment.Application.Contracts/Setting/CategoryDto.cs b/LifePayment/LifePayment.Application.Contracts/Setting/CategoryDto.cs
new file mode 100644
index 0000000..295c0a6
--- /dev/null
+++ b/LifePayment/LifePayment.Application.Contracts/Setting/CategoryDto.cs
@@ -0,0 +1,718 @@
+锘縰sing 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>
+ /// 鏄惁鏄剧ず锛宼rue鏄剧ず锛宖alse闅愯棌
+ /// </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>
+ /// 鏄惁鏄剧ず锛宼rue鏄剧ず锛宖alse闅愯棌
+ /// </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>
+ /// 鏄惁鏄剧ず锛宼rue鏄剧ず锛宖alse闅愯棌
+ /// </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瀛o紝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>
+ /// 鎺掑簭淇℃伅锛氶粯璁ゆ寜骞垮憡绫诲瀷锛歍ype銆佸箍鍛婁綅缃細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; }
+ }
+}
\ No newline at end of file
diff --git a/LifePayment/LifePayment.Application.Contracts/Setting/IAreaService.cs b/LifePayment/LifePayment.Application.Contracts/Setting/IAreaService.cs
new file mode 100644
index 0000000..c26988b
--- /dev/null
+++ b/LifePayment/LifePayment.Application.Contracts/Setting/IAreaService.cs
@@ -0,0 +1,13 @@
+锘縰sing 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();
+ }
+}
\ No newline at end of file
diff --git a/LifePayment/LifePayment.Application.Contracts/User/IAccountService.cs b/LifePayment/LifePayment.Application.Contracts/User/IAccountService.cs
index 08a57ee..d090533 100644
--- a/LifePayment/LifePayment.Application.Contracts/User/IAccountService.cs
+++ b/LifePayment/LifePayment.Application.Contracts/User/IAccountService.cs
@@ -10,6 +10,7 @@
#region life pay
+ Task<WxMiniAppIndentityInfo> GetLifePayWxIndentity(string code);
/// <summary>
/// 鎵嬫満楠岃瘉鐮佺櫥褰�
diff --git a/LifePayment/LifePayment.Application.Contracts/User/QrCodeLogin.cs b/LifePayment/LifePayment.Application.Contracts/User/QrCodeLogin.cs
index 5503fe7..200721f 100644
--- a/LifePayment/LifePayment.Application.Contracts/User/QrCodeLogin.cs
+++ b/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>
+ /// 灏忕▼搴廜penId
+ /// </summary>
+ public string OpenId { get; set; }
+
+ /// <summary>
+ /// 鐢ㄦ埛鍚嶏紙璇ュ�间负绌哄垯闇�鎵嬫満鎺堟潈鐧诲綍锛屼笉涓虹┖鍒欏凡鏈夎灏忕▼搴忕敤鎴凤級
+ /// </summary>
+ public string UserName { get; set; }
+
+ /// <summary>
+ ///
+ /// </summary>
+ public string UnionId { get; set; }
+ }
}
\ No newline at end of file
diff --git a/LifePayment/LifePayment.Application/Setting/AreaService.cs b/LifePayment/LifePayment.Application/Setting/AreaService.cs
new file mode 100644
index 0000000..6cf5477
--- /dev/null
+++ b/LifePayment/LifePayment.Application/Setting/AreaService.cs
@@ -0,0 +1,96 @@
+锘縰sing 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;
+ }
+ }
+}
\ No newline at end of file
diff --git a/LifePayment/LifePayment.Application/User/AccountService.cs b/LifePayment/LifePayment.Application/User/AccountService.cs
index 948e4ee..e38604a 100644
--- a/LifePayment/LifePayment.Application/User/AccountService.cs
+++ b/LifePayment/LifePayment.Application/User/AccountService.cs
@@ -1,4 +1,5 @@
锘縰sing 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
diff --git a/LifePayment/LifePayment.Domain/Common/Area.cs b/LifePayment/LifePayment.Domain/Common/Area.cs
new file mode 100644
index 0000000..018497a
--- /dev/null
+++ b/LifePayment/LifePayment.Domain/Common/Area.cs
@@ -0,0 +1,28 @@
+锘縰sing 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; }
+ }
+}
\ No newline at end of file
diff --git a/LifePayment/LifePayment.EntityFrameworkCore/LifePaymentServicesDbContext.cs b/LifePayment/LifePayment.EntityFrameworkCore/LifePaymentServicesDbContext.cs
index 24e64e5..ee4d8db 100644
--- a/LifePayment/LifePayment.EntityFrameworkCore/LifePaymentServicesDbContext.cs
+++ b/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; }
diff --git a/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml b/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
index 2ca2d07..94358b9 100644
--- a/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
+++ b/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>
鑾峰彇鐢佃垂闈㈠��
diff --git a/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml b/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
index f5a2814..3076291 100644
--- a/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
+++ b/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>
+ 鏄惁鏄剧ず锛宼rue鏄剧ず锛宖alse闅愯棌
+ </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>
+ 鏄惁鏄剧ず锛宼rue鏄剧ず锛宖alse闅愯棌
+ </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>
+ 鏄惁鏄剧ず锛宼rue鏄剧ず锛宖alse闅愯棌
+ </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瀛o紝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>
+ 鎺掑簭淇℃伅锛氶粯璁ゆ寜骞垮憡绫诲瀷锛歍ype銆佸箍鍛婁綅缃細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>
+ 灏忕▼搴廜penId
+ </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>
diff --git a/LifePayment/LifePayment.HttpApi/LifePay/AccountController.cs b/LifePayment/LifePayment.HttpApi/LifePay/AccountController.cs
index 9cce5da..c786435 100644
--- a/LifePayment/LifePayment.HttpApi/LifePay/AccountController.cs
+++ b/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鎵嬫満楠岃瘉鐮佺櫥褰�
diff --git a/LifePayment/LifePayment.HttpApi/LifePay/AreaController.cs b/LifePayment/LifePayment.HttpApi/LifePay/AreaController.cs
new file mode 100644
index 0000000..b1f8a37
--- /dev/null
+++ b/LifePayment/LifePayment.HttpApi/LifePay/AreaController.cs
@@ -0,0 +1,85 @@
+锘縰sing 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();
+ });
+ }
+ }
+}
\ No newline at end of file
--
Gitblit v1.10.0