diff --git a/src/SJZY.Track.Repository/SJZY.Track.Repository.csproj b/src/SJZY.Track.Repository/SJZY.Track.Repository.csproj
index 1583dea7..d88f7e29 100644
--- a/src/SJZY.Track.Repository/SJZY.Track.Repository.csproj
+++ b/src/SJZY.Track.Repository/SJZY.Track.Repository.csproj
@@ -38,6 +38,7 @@
+
diff --git a/src/SJZY.Track.Repository/VData/Entitys/VExternalSubjectEntity.cs b/src/SJZY.Track.Repository/VData/Entitys/VExternalSubjectEntity.cs
new file mode 100644
index 00000000..9cff66ea
--- /dev/null
+++ b/src/SJZY.Track.Repository/VData/Entitys/VExternalSubjectEntity.cs
@@ -0,0 +1,131 @@
+namespace SJZY.Track.Repository.VData.Entitys
+{
+ ///
+ /// 外部主体
+ ///
+ [SugarTable("v_external_subject")]
+ public class VExternalSubjectEntity : IFullAuditedBasicEntitys
+ {
+
+ ///
+ ///
+ ///
+ [SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)]
+ public int Id { get; set; }
+
+ ///
+ /// 公司简称
+ ///
+ [SugarColumn(ColumnName = "Abbreviation")]
+ public string Abbreviation { get; set; }
+
+ ///
+ /// 所属网络(主数据枚举表 (属性=AffiliatedNetwork)WCA,WEB,Atlas,CCA,CTN,CLN,GLN,PCN,SCN,WPA,EGLN,Other)
+ ///
+ [SugarColumn(ColumnName = "AffiliatedNetwork")]
+ public int? AffiliatedNetwork { get; set; }
+
+ ///
+ /// 公司代码
+ ///
+ [SugarColumn(ColumnName = "Code")]
+ public string Code { get; set; }
+
+ ///
+ /// (主数据枚举表 (属性=CustomerQuality)国内同行,国外同行,国内直客,国外直客,海外代理,国内贸易公司,国外贸易公司,仅供应商,内部子公司,个人,内部子部门)
+ ///
+ [SugarColumn(ColumnName = "CooperationNature")]
+ public int? CooperationNature { get; set; }
+
+ ///
+ /// 公司英文名
+ ///
+ [SugarColumn(ColumnName = "EnName")]
+ public string EnName { get; set; }
+
+ ///
+ /// 是否核准
+ ///
+ [SugarColumn(ColumnName = "IsApprove")]
+ public bool IsApprove { get; set; }
+
+ ///
+ /// 是否黑名单
+ ///
+ [SugarColumn(ColumnName = "IsBlacklist")]
+ public bool IsBlacklist { get; set; }
+
+ ///
+ /// 是否订香港
+ ///
+ [SugarColumn(ColumnName = "IsBookingHongKong")]
+ public bool? IsBookingHongKong { get; set; }
+
+ ///
+ /// 是否海外代理
+ ///
+ [SugarColumn(ColumnName = "IsOverseasAgent")]
+ public bool IsOverseasAgent { get; set; }
+
+ ///
+ /// 是否自行结算
+ ///
+ [SugarColumn(ColumnName = "IsSelfSettlement")]
+ public bool IsSelfSettlement { get; set; }
+
+ ///
+ /// 是否结算主体
+ ///
+ [SugarColumn(ColumnName = "IsSettlementSubject")]
+ public bool IsSettlementSubject { get; set; }
+
+ ///
+ /// 主网络,从多选的所属网络中选其中一个
+ ///
+ [SugarColumn(ColumnName = "MainNetwork")]
+ public int? MainNetwork { get; set; }
+
+ ///
+ /// 公司名称
+ ///
+ [SugarColumn(ColumnName = "Name")]
+ public string Name { get; set; }
+
+ ///
+ /// 性质,t_enum_value_info表Property="CompanyQuality;1 国有企业,2 国有控股企业,3 外资企业,4 合资企业,5 股份企业,6 私营企业,7 个体户
+ ///
+ [SugarColumn(ColumnName = "Nature")]
+ public int? Nature { get; set; }
+
+ ///
+ /// 内部组织id
+ ///
+ [SugarColumn(ColumnName = "OrgId")]
+ public int? OrgId { get; set; }
+
+ ///
+ /// 母公司id
+ ///
+ [SugarColumn(ColumnName = "ParentId")]
+ public int? ParentId { get; set; }
+
+ ///
+ /// 备注
+ ///
+ [SugarColumn(ColumnName = "Remark")]
+ public string Remark { get; set; }
+
+ ///
+ /// 类型,位运算存储;t_enum_value_info表Property="SubjectType;1客户,2供应商,4内部子公司
+ ///
+ [SugarColumn(ColumnName = "Type")]
+ public int Type { get; set; }
+
+ ///
+ /// 已验证公司名称
+ ///
+ [SugarColumn(ColumnName = "VerifiedName")]
+ public string VerifiedName { get; set; }
+
+ }
+}
\ No newline at end of file
diff --git a/src/SJZY.Track.Repository/VData/Entitys/VServiceProviderEntity.cs b/src/SJZY.Track.Repository/VData/Entitys/VServiceProviderEntity.cs
new file mode 100644
index 00000000..45a28246
--- /dev/null
+++ b/src/SJZY.Track.Repository/VData/Entitys/VServiceProviderEntity.cs
@@ -0,0 +1,77 @@
+namespace SJZY.Track.Repository.VData.Entitys
+{
+ ///
+ /// 服务商主表
+ ///
+ [SugarTable("v_service_provider")]
+ public class VServiceProviderEntity : IFullAuditedBasicEntitys
+ {
+
+ ///
+ /// 自增主键
+ ///
+ [SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)]
+ public int Id { get; set; }
+
+ ///
+ /// 授权接口Code
+ ///
+ [SugarColumn(ColumnName = "AuthInterfaceCode")]
+ public string AuthInterfaceCode { get; set; }
+
+ ///
+ /// 服务商代码
+ ///
+ [SugarColumn(ColumnName = "Code")]
+ public string Code { get; set; }
+
+ ///
+ /// 描述
+ ///
+ [SugarColumn(ColumnName = "Description")]
+ public string Description { get; set; }
+
+ ///
+ /// 流程代码
+ ///
+ [SugarColumn(ColumnName = "FlowCode")]
+ public string FlowCode { get; set; }
+
+ ///
+ /// 是否禁用账户验证
+ ///
+ [SugarColumn(ColumnName = "IsDisableAuth")]
+ public bool IsDisableAuth { get; set; }
+
+ ///
+ /// 服务商名称
+ ///
+ [SugarColumn(ColumnName = "Name")]
+ public string Name { get; set; }
+
+ ///
+ /// 请求超时(s)
+ ///
+ [SugarColumn(ColumnName = "Timeout")]
+ public int? Timeout { get; set; }
+
+ ///
+ /// 轨迹时区
+ ///
+ [SugarColumn(ColumnName = "TraceTimeZone")]
+ public string TraceTimeZone { get; set; }
+
+ ///
+ /// 服务商类型(弃用)
+ ///
+ [SugarColumn(ColumnName = "Type")]
+ public int Type { get; set; }
+
+ ///
+ /// 服务商类型(多选)
+ ///
+ [SugarColumn(ColumnName = "Types")]
+ public string Types { get; set; }
+
+ }
+}
\ No newline at end of file
diff --git a/src/SJZY.Track.Repository/VData/Entitys/VSystemEntity.cs b/src/SJZY.Track.Repository/VData/Entitys/VSystemEntity.cs
new file mode 100644
index 00000000..76e5fcdb
--- /dev/null
+++ b/src/SJZY.Track.Repository/VData/Entitys/VSystemEntity.cs
@@ -0,0 +1,155 @@
+namespace SJZY.Track.Repository.VData.Entitys
+{
+ ///
+ ///
+ ///
+ [SugarTable("v_system")]
+ public class VSystemEntity : IFullAuditedBasicEntitys
+ {
+
+ ///
+ /// 子系统id
+ ///
+ [SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)]
+ public int Id { get; set; }
+
+ ///
+ /// 关联的内部子系统
+ ///
+ [SugarColumn(ColumnName = "AssociatedInternalSubsystem")]
+ public int? AssociatedInternalSubsystem { get; set; }
+
+ ///
+ /// 子系统授权类型(1.标准 2.因素)
+ ///
+ [SugarColumn(ColumnName = "AuthType")]
+ public bool AuthType { get; set; }
+
+ ///
+ /// 中文名
+ ///
+ [SugarColumn(ColumnName = "CnName")]
+ public string CnName { get; set; }
+
+ ///
+ /// 备注
+ ///
+ [SugarColumn(ColumnName = "Comment")]
+ public string Comment { get; set; }
+
+ ///
+ /// 安装包下载链接,当类型为安装包时,必填
+ ///
+ [SugarColumn(ColumnName = "DownloadUrl")]
+ public string DownloadUrl { get; set; }
+
+ ///
+ /// 英文名
+ ///
+ [SugarColumn(ColumnName = "EnName")]
+ public string EnName { get; set; }
+
+ ///
+ /// 飞书应用ID
+ ///
+ [SugarColumn(ColumnName = "FsAppId")]
+ public string FsAppId { get; set; }
+
+ ///
+ /// 欠费允许下单(默认为是)
+ ///
+ [SugarColumn(ColumnName = "IsAllowPlaceOrder")]
+ public bool? IsAllowPlaceOrder { get; set; }
+
+ ///
+ /// 是否开通授信
+ ///
+ [SugarColumn(ColumnName = "IsCredit")]
+ public bool? IsCredit { get; set; }
+
+ ///
+ /// 是否启用
+ ///
+ [SugarColumn(ColumnName = "IsEnable")]
+ public bool IsEnable { get; set; }
+
+ ///
+ /// 是否启用业务主体(判断登录是否选择业务主体)
+ ///
+ [SugarColumn(ColumnName = "IsEnableBusiness")]
+ public bool? IsEnableBusiness { get; set; }
+
+ ///
+ /// 是否结束初始化
+ ///
+ [SugarColumn(ColumnName = "IsEndInit")]
+ public bool IsEndInit { get; set; }
+
+ ///
+ /// 是否开通余额
+ ///
+ [SugarColumn(ColumnName = "IsOpenBalance")]
+ public bool IsOpenBalance { get; set; }
+
+ ///
+ /// 子系统唯一值
+ ///
+ [SugarColumn(ColumnName = "Key")]
+ public string Key { get; set; }
+
+ ///
+ /// 子系统Logo图标
+ ///
+ [SugarColumn(ColumnName = "LogoIcon")]
+ public string LogoIcon { get; set; }
+
+ ///
+ /// 主账号Id
+ ///
+ [SugarColumn(ColumnName = "MainUserId")]
+ public int? MainUserId { get; set; }
+
+ ///
+ /// 移动端链接
+ ///
+ [SugarColumn(ColumnName = "MobileUrl")]
+ public string MobileUrl { get; set; }
+
+ ///
+ /// 运营主体
+ ///
+ [SugarColumn(ColumnName = "OperatingSubject")]
+ public int? OperatingSubject { get; set; }
+
+ ///
+ /// 排序值
+ ///
+ [SugarColumn(ColumnName = "Sort")]
+ public int? Sort { get; set; }
+
+ ///
+ /// 跨境电商物流1 干线物流2 国内代理贸易3 非业务类4
+ ///
+ [SugarColumn(ColumnName = "SysBusinessType")]
+ public int? SysBusinessType { get; set; }
+
+ ///
+ /// 系统所属1:内部 2:外部
+ ///
+ [SugarColumn(ColumnName = "SystemProperty")]
+ public int SystemProperty { get; set; }
+
+ ///
+ /// 子系统类型:1-Web、2-安装包exe
+ ///
+ [SugarColumn(ColumnName = "SystemType")]
+ public int? SystemType { get; set; }
+
+ ///
+ /// 子系统token
+ ///
+ [SugarColumn(ColumnName = "Token")]
+ public string Token { get; set; }
+
+ }
+}
\ No newline at end of file
diff --git a/src/SJZY.Track.Repository/VData/Entitys/VUserEntity.cs b/src/SJZY.Track.Repository/VData/Entitys/VUserEntity.cs
new file mode 100644
index 00000000..1049171f
--- /dev/null
+++ b/src/SJZY.Track.Repository/VData/Entitys/VUserEntity.cs
@@ -0,0 +1,107 @@
+namespace SJZY.Track.Repository.VData.Entitys
+{
+ ///
+ /// 用户信息表
+ ///
+ [SugarTable("v_user")]
+ public class VUserEntity : IFullAuditedBasicEntitys
+ {
+
+ ///
+ /// 用户id
+ ///
+ [SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)]
+ public int Id { get; set; }
+
+ ///
+ /// 账号
+ ///
+ [SugarColumn(ColumnName = "Account")]
+ public string Account { get; set; }
+
+ ///
+ /// 公司Id
+ ///
+ [SugarColumn(ColumnName = "CompanyId")]
+ public int? CompanyId { get; set; }
+
+ ///
+ /// 国际区号
+ ///
+ [SugarColumn(ColumnName = "CountryCode")]
+ public string CountryCode { get; set; }
+
+ ///
+ /// 默认语言枚举
+ ///
+ [SugarColumn(ColumnName = "DefaultLang")]
+ public bool? DefaultLang { get; set; }
+
+ ///
+ /// 部门Id
+ ///
+ [SugarColumn(ColumnName = "DeptId")]
+ public int? DeptId { get; set; }
+
+ ///
+ /// 员工id
+ ///
+ [SugarColumn(ColumnName = "EmployeeId")]
+ public int? EmployeeId { get; set; }
+
+ ///
+ /// 英文名
+ ///
+ [SugarColumn(ColumnName = "EnName")]
+ public string EnName { get; set; }
+
+ ///
+ /// 是否业务员
+ ///
+ [SugarColumn(ColumnName = "IsBusiness")]
+ public bool? IsBusiness { get; set; }
+
+ ///
+ /// 是否启用
+ ///
+ [SugarColumn(ColumnName = "IsEnable")]
+ public bool IsEnable { get; set; }
+
+ ///
+ /// 固定电话(座机号码)
+ ///
+ [SugarColumn(ColumnName = "LandlinePhone")]
+ public string LandlinePhone { get; set; }
+
+ ///
+ /// 姓名
+ ///
+ [SugarColumn(ColumnName = "Name")]
+ public string Name { get; set; }
+
+ ///
+ /// 用户直接组织节点Id
+ ///
+ [SugarColumn(ColumnName = "OrgId")]
+ public int? OrgId { get; set; }
+
+ ///
+ /// 密码
+ ///
+ [SugarColumn(ColumnName = "PassWord")]
+ public string PassWord { get; set; }
+
+ ///
+ /// 绑定手机号
+ ///
+ [SugarColumn(ColumnName = "TelPhone")]
+ public string TelPhone { get; set; }
+
+ ///
+ /// 用户来源(1.员工入职 2.手动添加 3.其他)
+ ///
+ [SugarColumn(ColumnName = "UserOrigin")]
+ public bool? UserOrigin { get; set; }
+
+ }
+}
\ No newline at end of file
diff --git a/src/SJZY.Track.Repository/VData/Services/ExternalSubjectRepository.cs b/src/SJZY.Track.Repository/VData/Services/ExternalSubjectRepository.cs
new file mode 100644
index 00000000..cc3763b1
--- /dev/null
+++ b/src/SJZY.Track.Repository/VData/Services/ExternalSubjectRepository.cs
@@ -0,0 +1,9 @@
+using SJZY.Track.Repository.VData.Entitys;
+
+namespace SJZY.Track.Repository.VData.Services
+{
+ public class ExternalSubjectRepository : BasicRepository, IExternalSubjectRepository, IScopedDependency
+ {
+
+ }
+}
diff --git a/src/SJZY.Track.Repository/VData/Services/IExternalSubjectRepository.cs b/src/SJZY.Track.Repository/VData/Services/IExternalSubjectRepository.cs
new file mode 100644
index 00000000..3860ca53
--- /dev/null
+++ b/src/SJZY.Track.Repository/VData/Services/IExternalSubjectRepository.cs
@@ -0,0 +1,9 @@
+using SJZY.Track.Repository.VData.Entitys;
+
+namespace SJZY.Track.Repository.VData.Services
+{
+ public interface IExternalSubjectRepository : ISimpleClient
+ {
+
+ }
+}
diff --git a/src/SJZY.Track.Repository/VData/Services/IServiceProviderRepository.cs b/src/SJZY.Track.Repository/VData/Services/IServiceProviderRepository.cs
new file mode 100644
index 00000000..bc3b5182
--- /dev/null
+++ b/src/SJZY.Track.Repository/VData/Services/IServiceProviderRepository.cs
@@ -0,0 +1,9 @@
+using SJZY.Track.Repository.VData.Entitys;
+
+namespace SJZY.Track.Repository.VData.Services
+{
+ public interface IServiceProviderRepository : ISimpleClient
+ {
+
+ }
+}
diff --git a/src/SJZY.Track.Repository/VData/Services/ISystemRepository.cs b/src/SJZY.Track.Repository/VData/Services/ISystemRepository.cs
new file mode 100644
index 00000000..ae4864df
--- /dev/null
+++ b/src/SJZY.Track.Repository/VData/Services/ISystemRepository.cs
@@ -0,0 +1,9 @@
+using SJZY.Track.Repository.VData.Entitys;
+
+namespace SJZY.Track.Repository.VData.Services
+{
+ public interface ISystemRepository : ISimpleClient
+ {
+
+ }
+}
diff --git a/src/SJZY.Track.Repository/VData/Services/IUserRepository.cs b/src/SJZY.Track.Repository/VData/Services/IUserRepository.cs
new file mode 100644
index 00000000..63847127
--- /dev/null
+++ b/src/SJZY.Track.Repository/VData/Services/IUserRepository.cs
@@ -0,0 +1,9 @@
+using SJZY.Track.Repository.VData.Entitys;
+
+namespace SJZY.Track.Repository.VData.Services
+{
+ public interface IUserRepository : ISimpleClient
+ {
+
+ }
+}
diff --git a/src/SJZY.Track.Repository/VData/Services/ServiceProviderRepository.cs b/src/SJZY.Track.Repository/VData/Services/ServiceProviderRepository.cs
new file mode 100644
index 00000000..097c3ae7
--- /dev/null
+++ b/src/SJZY.Track.Repository/VData/Services/ServiceProviderRepository.cs
@@ -0,0 +1,9 @@
+using SJZY.Track.Repository.VData.Entitys;
+
+namespace SJZY.Track.Repository.VData.Services
+{
+ public class VServiceProviderRepository : BasicRepository, IServiceProviderRepository, IScopedDependency
+ {
+
+ }
+}
diff --git a/src/SJZY.Track.Repository/VData/Services/SystemRepository.cs b/src/SJZY.Track.Repository/VData/Services/SystemRepository.cs
new file mode 100644
index 00000000..5193a325
--- /dev/null
+++ b/src/SJZY.Track.Repository/VData/Services/SystemRepository.cs
@@ -0,0 +1,9 @@
+using SJZY.Track.Repository.VData.Entitys;
+
+namespace SJZY.Track.Repository.VData.Services
+{
+ public class SystemRepository : BasicRepository, ISystemRepository, IScopedDependency
+ {
+
+ }
+}
diff --git a/src/SJZY.Track.Repository/VData/Services/UserRepository.cs b/src/SJZY.Track.Repository/VData/Services/UserRepository.cs
new file mode 100644
index 00000000..2a3b76df
--- /dev/null
+++ b/src/SJZY.Track.Repository/VData/Services/UserRepository.cs
@@ -0,0 +1,9 @@
+using SJZY.Track.Repository.VData.Entitys;
+
+namespace SJZY.Track.Repository.VData.Services
+{
+ public class UserRepository : BasicRepository, IUserRepository, IScopedDependency
+ {
+
+ }
+}