Browse Source

1.配置跨域2.数据库连接加密3.数据库脚本、文档4.readme5.接口文档

wangyuhan 1 year ago
parent
commit
5733c868db

+ 36 - 0
docs/certificate_init.sql

@@ -0,0 +1,36 @@
+
+
+-- ptcms.certificate definition
+
+CREATE TABLE `certificate` (
+  `id` int NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `name` varchar(50) NOT NULL COMMENT '姓名',
+  `id_number` varchar(50) NOT NULL COMMENT '身份证号',
+  `certificate_number` varchar(50) NOT NULL COMMENT '证书编号',
+  `professional_title_series` varchar(50) DEFAULT NULL COMMENT '职称系列',
+  `professional_title` varchar(50) DEFAULT NULL COMMENT '职称专业',
+  `qualification` varchar(50) DEFAULT NULL COMMENT '职务任职资格',
+  `level` varchar(10) DEFAULT NULL COMMENT '职称级别',
+  `qualification_time` datetime(3) DEFAULT NULL COMMENT '任职资格时间',
+  `issue_time` datetime(3) DEFAULT NULL COMMENT '发证时间',
+  `review_organization` varchar(80) DEFAULT NULL COMMENT '评审组织',
+  `issuing_authority` varchar(50) DEFAULT NULL COMMENT '发证单位',
+  `declaration_unit` varchar(50) DEFAULT NULL COMMENT '申报单位',
+  `remark` varchar(200) DEFAULT NULL COMMENT '备注',
+  `id_type` varchar(20) DEFAULT NULL COMMENT '证件类型',
+  `img_url` varchar(1000) DEFAULT NULL COMMENT '证件照片',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='证书信息';
+
+
+INSERT INTO ptcms.certificate (name,id_number,certificate_number,professional_title_series,professional_title,qualification,`level`,qualification_time,issue_time,review_organization,issuing_authority,declaration_unit,remark,id_type,img_url) VALUES
+	 ('冉培松','522127196707160013','黔高1830053000002','工程技术人员','林业技术','工程技术人才_高级工程师','中级','2018-12-30 00:00:00','2019-05-01 00:00:00','遵义市工程技术职务中级评审委员会','遵义市人力资源和社会保障局','北京森旺林业工程设计有限公司遵义分公司',NULL,'居民身份证(户口簿)',NULL),
+	 ('罗仪','522127199401147514','黔特中1910992980519','工程技术人员','林业技术','工程技术人才_中级工程师','中级','2018-12-30 00:00:00','2019-05-01 00:00:00','遵义市工程技术职务中级评审委员会','遵义市人力资源和社会保障局','北京森旺林业工程设计有限公司遵义分公司',NULL,'居民身份证(户口簿)',NULL),
+	 ('王珂','522127199202280013','黔特中1910992980562','工程技术人员','林业技术','工程技术人才_中级工程师','中级','2018-12-30 00:00:00','2019-05-01 00:00:00','遵义市工程技术职务中级评审委员会','遵义市人力资源和社会保障局','北京森旺林业工程设计有限公司遵义分公司',NULL,'居民身份证(户口簿)',NULL),
+	 ('黄冲','522127199309263037','黔特中1910992980635','工程技术人员','林业技术','工程技术人才_中级工程师','中级','2018-12-30 00:00:00','2019-05-01 00:00:00','遵义市工程技术职务中级评审委员会','遵义市人力资源和社会保障局','北京森旺林业工程设计有限公司遵义分公司',NULL,'居民身份证(户口簿)',NULL),
+	 ('石倩倩','522127199409200025','黔特中1910992980681','工程技术人员','林业技术','工程技术人才_中级工程师','中级','2018-12-30 00:00:00','2019-05-01 00:00:00','遵义市工程技术职务中级评审委员会','遵义市人力资源和社会保障局','北京森旺林业工程设计有限公司遵义分公司',NULL,'居民身份证(户口簿)',NULL),
+	 ('郑泽仙','522724199209243825','黔特中1910992980188','工程技术人员','林业技术','工程技术人才_中级工程师','中级','2018-12-30 00:00:00','2019-05-01 00:00:00','遵义市工程技术职务中级评审委员会','遵义市人力资源和社会保障局','北京森旺林业工程设计有限公司遵义分公司',NULL,'居民身份证(户口簿)',NULL),
+	 ('王思雨','522127199201074525','黔特中1910992980217','工程技术人员','林业技术','工程技术人才_中级工程师','中级','2018-12-30 00:00:00','2019-05-01 00:00:00','遵义市工程技术职务中级评审委员会','遵义市人力资源和社会保障局','北京森旺林业工程设计有限公司遵义分公司',NULL,'居民身份证(户口簿)',NULL),
+	 ('王守琴','522128199003123564','黔特中1810992980865','工程技术人员','林业技术','工程技术人才_中级工程师','中级','2018-12-30 00:00:00','2019-05-01 00:00:00','遵义市工程技术职务中级评审委员会','遵义市人力资源和社会保障局','北京森旺林业工程设计有限公司遵义分公司',NULL,'居民身份证(户口簿)',NULL),
+	 ('欧阳军','522127198607130035','黔中201501493','工程技术人员','林业技术','工程技术人才_中级工程师','中级','2018-12-30 00:00:00','2019-05-01 00:00:00','遵义市工程技术职务中级评审委员会','遵义市人力资源和社会保障局','北京森旺林业工程设计有限公司遵义分公司',NULL,'居民身份证(户口簿)',NULL),
+	 ('孙泽娟','520103198608054828','黔中201501511','工程技术人员','林业技术','工程技术人才_中级工程师','中级','2016-12-30 00:00:00','2017-05-01 00:00:00','遵义市工程技术职务中级评审委员会','遵义市人力资源和社会保障局','北京森旺林业工程设计有限公司遵义分公司',NULL,'居民身份证(户口簿)',NULL);

BIN
docs/ptcms数据库设计文档.chm


+ 53 - 0
docs/readme.md

@@ -0,0 +1,53 @@
+# 职称证书查询
+
+## 一、数据库
+
+#### 1.1 数据库信息
+
+```c#
+数据库采用MySql8.1.0版本,部署在docker容器中
+配置文件挂载目录:/home/docker/mysql/conf
+```
+
+#### 1.2 数据库连接
+
+```c#
+连接字符串密文:FJXuVl2t6cUGZLWp/zp+jletHcOyMqNDNB/xp/ygQcghsihFOvRuwHgy0oqFOG9h731kCCaagfej6cNSTW8oSbUoA3rtrKRpjv+Sht+9DbupiLd8OJZC5ESzmNBH+q30qfHJZJslO1AwG2ErAQ6t2OU9ba8B9c8qPC3IagPwGDQ/IWuiGen6AqCIuBOstf1ZcVT79SIk9eFDPh9N3QNdrA==
+  
+
+连接字符串明文:server=122.51.110.133;Port=3306;User ID=root;Password=abpx@12018OTTP!; database=ptcms;Charset=utf8; SslMode=none;Min pool size=1
+
+```
+
+## 二、项目信息
+
+#### 1.1 后端
+
+```c#
+后端用c#编写,提供数据接口,支持跨平台部署
+项目路径:/home/projects/ptcms_back
+切换到该文件夹并输入命令:pm2 start "dotnet PTCMS.API.dll  --urls http://127.0.0.1:8081" --name PTCMS.API
+```
+
+#### 1.2 前端
+
+```c#
+项目路径:/home/projects/ptcms_front
+```
+
+## 三、Nginx
+
+```c#
+配置文件目录:/etc/nginx
+```
+
+## 四、服务器信息
+
+```c#
+公网IP:122.51.110.133
+账号:root
+密码:rccx@6688
+```
+
+
+

File diff suppressed because it is too large
+ 224 - 0
docs/证书查询接口文档.html


+ 0 - 1
readme.md

@@ -1 +0,0 @@
-# 职称证书查询

+ 12 - 0
src/PTCMS.API/PTCMS.API/.config/dotnet-tools.json

@@ -0,0 +1,12 @@
+{
+  "version": 1,
+  "isRoot": true,
+  "tools": {
+    "dotnet-ef": {
+      "version": "7.0.12",
+      "commands": [
+        "dotnet-ef"
+      ]
+    }
+  }
+}

BIN
src/PTCMS.API/PTCMS.API/Images/冉培松.jpg


+ 5 - 0
src/PTCMS.API/PTCMS.API/Infrastructure/Repositories/CertificateRepository.cs

@@ -1,9 +1,12 @@
 using System.Diagnostics.Eventing.Reader;
 using System.Linq.Expressions;
 
+using Furion.DataEncryption;
+
 using PTCMS.API.Domain.Entities;
 using PTCMS.API.Domain.Repositories;
 using PTCMS.API.Infrastructure.Dtos;
+using PTCMS.API.Infrastructure.Utils.Consts;
 
 namespace PTCMS.API.Infrastructure.Repositories
 {
@@ -30,6 +33,7 @@ namespace PTCMS.API.Infrastructure.Repositories
         /// <returns></returns>
         public async Task<Certificate> GetCertificateAsync(CertificateSearchDto input)
         {
+
             Expression<Func<Certificate, bool>> expression = null;
 
             if (!string.IsNullOrWhiteSpace(input.Name) && !string.IsNullOrWhiteSpace(input.IdNumber) && !string.IsNullOrWhiteSpace(input.CertificateNumber))
@@ -54,6 +58,7 @@ namespace PTCMS.API.Infrastructure.Repositories
                 return null;
             }
 
+
             var data = await _freeSql.Select<Certificate>().Where(expression).FirstAsync();
 
             return data;

+ 7 - 0
src/PTCMS.API/PTCMS.API/Infrastructure/Utils/Consts/Keys.cs

@@ -0,0 +1,7 @@
+namespace PTCMS.API.Infrastructure.Utils.Consts
+{
+    public class Keys
+    {
+        public const string DbConnAesKey = "shangshanruoshui";
+    }
+}

+ 20 - 10
src/PTCMS.API/PTCMS.API/Infrastructure/Utils/Extensions/FreeSqlExtensions.cs

@@ -31,7 +31,8 @@ namespace PTCMS.API.Infrastructure.Utils.Extensions
                         IssueTime=new DateTime(2019,5,1),
                         ReviewOrganization="遵义市工程技术职务中级评审委员会",
                         IssuingAuthority="遵义市人力资源和社会保障局",
-                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司"
+                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司",
+                        IdType="居民身份证(户口簿)"
                     },
                     new Certificate{
                         Name="罗仪",
@@ -45,7 +46,8 @@ namespace PTCMS.API.Infrastructure.Utils.Extensions
                         IssueTime=new DateTime(2019,5,1),
                         ReviewOrganization="遵义市工程技术职务中级评审委员会",
                         IssuingAuthority="遵义市人力资源和社会保障局",
-                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司"
+                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司",
+                        IdType="居民身份证(户口簿)"
                     },
                     new Certificate{
                         Name="王珂",
@@ -59,7 +61,8 @@ namespace PTCMS.API.Infrastructure.Utils.Extensions
                         IssueTime=new DateTime(2019,5,1),
                         ReviewOrganization="遵义市工程技术职务中级评审委员会",
                         IssuingAuthority="遵义市人力资源和社会保障局",
-                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司"
+                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司",
+                        IdType="居民身份证(户口簿)"
                     },
                     new Certificate{
                         Name="黄冲",
@@ -73,7 +76,8 @@ namespace PTCMS.API.Infrastructure.Utils.Extensions
                         IssueTime=new DateTime(2019,5,1),
                         ReviewOrganization="遵义市工程技术职务中级评审委员会",
                         IssuingAuthority="遵义市人力资源和社会保障局",
-                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司"
+                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司",
+                        IdType="居民身份证(户口簿)"
                     },
                     new Certificate{
                         Name="石倩倩",
@@ -87,7 +91,8 @@ namespace PTCMS.API.Infrastructure.Utils.Extensions
                         IssueTime=new DateTime(2019,5,1),
                         ReviewOrganization="遵义市工程技术职务中级评审委员会",
                         IssuingAuthority="遵义市人力资源和社会保障局",
-                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司"
+                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司",
+                        IdType="居民身份证(户口簿)"
                     },
                     new Certificate{
                         Name="郑泽仙",
@@ -101,7 +106,8 @@ namespace PTCMS.API.Infrastructure.Utils.Extensions
                         IssueTime=new DateTime(2019,5,1),
                         ReviewOrganization="遵义市工程技术职务中级评审委员会",
                         IssuingAuthority="遵义市人力资源和社会保障局",
-                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司"
+                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司",
+                        IdType="居民身份证(户口簿)"
                     },
                     new Certificate{
                         Name="王思雨",
@@ -115,7 +121,8 @@ namespace PTCMS.API.Infrastructure.Utils.Extensions
                         IssueTime=new DateTime(2019,5,1),
                         ReviewOrganization="遵义市工程技术职务中级评审委员会",
                         IssuingAuthority="遵义市人力资源和社会保障局",
-                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司"
+                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司",
+                        IdType="居民身份证(户口簿)"
                     },
                     new Certificate{
                         Name="王守琴",
@@ -129,7 +136,8 @@ namespace PTCMS.API.Infrastructure.Utils.Extensions
                         IssueTime=new DateTime(2019,5,1),
                         ReviewOrganization="遵义市工程技术职务中级评审委员会",
                         IssuingAuthority="遵义市人力资源和社会保障局",
-                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司"
+                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司",
+                        IdType="居民身份证(户口簿)"
                     },
                     new Certificate{
                         Name="欧阳军",
@@ -143,7 +151,8 @@ namespace PTCMS.API.Infrastructure.Utils.Extensions
                         IssueTime=new DateTime(2019,5,1),
                         ReviewOrganization="遵义市工程技术职务中级评审委员会",
                         IssuingAuthority="遵义市人力资源和社会保障局",
-                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司"
+                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司",
+                        IdType="居民身份证(户口簿)"
                     },
                     new Certificate{
                         Name="孙泽娟",
@@ -157,7 +166,8 @@ namespace PTCMS.API.Infrastructure.Utils.Extensions
                         IssueTime=new DateTime(2017,5,1),
                         ReviewOrganization="遵义市工程技术职务中级评审委员会",
                         IssuingAuthority="遵义市人力资源和社会保障局",
-                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司"
+                        DeclarationUnit="北京森旺林业工程设计有限公司遵义分公司",
+                        IdType="居民身份证(户口簿)"
                     },
                 });
             });

+ 8 - 2
src/PTCMS.API/PTCMS.API/Infrastructure/Utils/Extensions/ServiceExtensions.cs

@@ -1,9 +1,14 @@
 using System.Reflection;
 
 using FreeSql;
+using FreeSql.DatabaseModel;
 
+using Furion.DataEncryption;
+
+using PTCMS.API.Domain.Entities;
 using PTCMS.API.Domain.Repositories;
 using PTCMS.API.Infrastructure.Repositories;
+using PTCMS.API.Infrastructure.Utils.Consts;
 using PTCMS.API.Infrastructure.Utils.Helpers;
 
 namespace PTCMS.API.Infrastructure.Utils.Extensions
@@ -19,7 +24,7 @@ namespace PTCMS.API.Infrastructure.Utils.Extensions
         /// <param name="services"></param>
         public static void AddFreeSql(this IServiceCollection services)
         {
-            var connStr = AppSettingHelper.ReadString("DbConn:MySQL");
+            var connStr = AESEncryption.Decrypt(AppSettingHelper.ReadString("DbConn:MySQL"), Keys.DbConnAesKey);
 
             IFreeSql fsql = new FreeSql.FreeSqlBuilder()
 #if DEBUG
@@ -60,7 +65,8 @@ namespace PTCMS.API.Infrastructure.Utils.Extensions
                 Console.WriteLine($"--------------End:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}--------------");
             };
 
-            fsql.CodeFirst.CodeFirstExt();
+            
+            //fsql.CodeFirst.CodeFirstExt();
 
             services.AddFreeRepository(null, nameof(ServiceExtensions).GetType().Assembly);
             services.AddSingleton<IFreeSql>(fsql);

+ 1 - 0
src/PTCMS.API/PTCMS.API/PTCMS.API.csproj

@@ -9,6 +9,7 @@
 
   <ItemGroup>
     <PackageReference Include="FreeSql.Provider.MySql" Version="3.2.700" />
+    <PackageReference Include="Furion" Version="4.8.8.48" />
     <PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
       <PackageReference Include="FreeSql" Version="3.2.800" />
       <PackageReference Include="FreeSql.Extensions.JsonMap" Version="3.2.800" />

+ 17 - 0
src/PTCMS.API/PTCMS.API/Program.cs

@@ -14,6 +14,20 @@ builder.Services.AddSwaggerGen();
 builder.Services.AddFreeSql();
 builder.Services.AddCustomServices();
 
+builder.Services.AddCors(options =>
+{
+    options.AddPolicy
+        (name: "cors",
+            builde =>
+            {
+                builde.WithOrigins("*", "*", "*")
+                .AllowAnyOrigin()
+                .AllowAnyHeader()
+                .AllowAnyMethod();
+            }
+        );
+});
+
 var app = builder.Build();
 
 // Configure the HTTP request pipeline.
@@ -23,6 +37,9 @@ if (app.Environment.IsDevelopment())
     app.UseSwaggerUI();
 }
 
+app.UseStaticFiles();
+app.UseCors("cors");
+
 app.UseAuthentication();
 app.UseAuthorization();
 

+ 1 - 2
src/PTCMS.API/PTCMS.API/appsettings.json

@@ -6,8 +6,7 @@
     }
   },
   "DbConn": {
-    "PostgreSQL": "Host=124.220.187.142;Port=5432;Username=postgres;Password=wyh_232321; Database=ptcms;Pooling=true;Minimum Pool Size=1",
-    "MySQL": "server=localhost;Port=3306;User ID=root;Password=Hello1703; database=ptcms;Charset=utf8; SslMode=none;Min pool size=1"
+    "MySQL": "FJXuVl2t6cUGZLWp/zp+jletHcOyMqNDNB/xp/ygQcghsihFOvRuwHgy0oqFOG9h731kCCaagfej6cNSTW8oSbUoA3rtrKRpjv+Sht+9DbupiLd8OJZC5ESzmNBH+q30qfHJZJslO1AwG2ErAQ6t2OU9ba8B9c8qPC3IagPwGDQ/IWuiGen6AqCIuBOstf1ZcVT79SIk9eFDPh9N3QNdrA=="
   },
   "AllowedHosts": "*"
 }