From e80a22d84d2e1321843b4e18d99d9a9fc29d315e Mon Sep 17 00:00:00 2001
From: admin <182004222@qq.com>
Date: 星期三, 18 十月 2023 10:05:21 +0800
Subject: [PATCH] Merge branch 'master' of http://47.92.245.94:8000/r/RiskControl_RR_Fast

---
 RiskControl.NewService/Service/TianYanChaService.cs             |  243 ++++++++++++++++
 GasolineBlend/Controllers/TianYanChaController.cs               |   50 +++
 RiskControl.NewService/QiChaCha/TycEntity/TycEmployments.cs     |   81 +++++
 RiskControl.NewService/QiChaCha/TycEntity/TycIprTmDetail.cs     |   51 +++
 RiskControl.NewService/RiskControl.NewService.csproj            |    5 
 RiskControl.NewService/QiChaCha/TycEntity/TycIprTm.cs           |  123 ++++++++
 RiskControl.NewService/QiChaCha/TycEntity/TycImportAndExport.cs |   40 ++
 RiskControl.NewService/QiChaCha/TianYanChaApi.cs                |   42 ++
 RiskControl.NewService/QiChaCha/TycEntity/TycPatents.cs         |  207 +++++++++++++
 9 files changed, 841 insertions(+), 1 deletions(-)

diff --git a/GasolineBlend/Controllers/TianYanChaController.cs b/GasolineBlend/Controllers/TianYanChaController.cs
index ebdf2bc..8f2f255 100644
--- a/GasolineBlend/Controllers/TianYanChaController.cs
+++ b/GasolineBlend/Controllers/TianYanChaController.cs
@@ -745,8 +745,58 @@
             return result.IsSuccess ? SuccessNoShow(data: result.Data) : ErrorNoShow(result.Message);
         }
 
+        /// <summary>
+        /// 杩涘嚭鍙d俊鐢�
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<ActionResult> GetTycImportAndExport(string name)
+        {
+            var result = await _tycService.GetImportAndExport(name);
+            return result.IsSuccess ? SuccessNoShow(data: result.Data) : ErrorNoShow(result.Message);
+        }
 
+        /// <summary>
+        /// 浼佷笟涓撳埄淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<ActionResult> GetTycPatents(string name, int pageIndex = 1, int pageSize = 10)
+        {
+            var result = await _tycService.GetPatents(name, pageIndex, pageSize);
+            return result.IsSuccess ? SuccessNoShow(data: result.Data) : ErrorNoShow(result.Message);
+        }
+        /// <summary>
+        /// 浼佷笟鍟嗘爣淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<ActionResult> GetTycIprTm(string name, int pageIndex = 1, int pageSize = 10)
+        {
+            var result = await _tycService.GetIprTm(name, pageIndex, pageSize);
+            return result.IsSuccess ? SuccessNoShow(data: result.Data) : ErrorNoShow(result.Message);
+        }
+        /// <summary>
+        /// 鍟嗘爣淇℃伅璇︽儏
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<ActionResult> GetTycIprTmDetail(string regNo, string intCls)
+        {
+            var result = await _tycService.GetIprTmDetail(regNo,intCls);
+            return result.IsSuccess ? SuccessNoShow(data: result.Data) : ErrorNoShow(result.Message);
+        }
 
+        /// <summary>
+        /// 浼佷笟鎷涜仒
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<ActionResult> GetTycEmployments(string name, int pageIndex = 1, int pageSize = 10)
+        {
+            var result = await _tycService.GetEmployments(name, pageIndex, pageSize);
+            return result.IsSuccess ? SuccessNoShow(data: result.Data) : ErrorNoShow(result.Message);
+        }
 
 
 
diff --git a/RiskControl.NewService/QiChaCha/TianYanChaApi.cs b/RiskControl.NewService/QiChaCha/TianYanChaApi.cs
index e16bd9c..35602a5 100644
--- a/RiskControl.NewService/QiChaCha/TianYanChaApi.cs
+++ b/RiskControl.NewService/QiChaCha/TianYanChaApi.cs
@@ -764,8 +764,48 @@
             var resObj = resStr.ToObject<TycInquiryEvaluationReturnTotal>();
             return resObj;
         }
+        public TycImportAndExportReturnTotal GetImportAndExport(TycImportAndExportQuery query)
+        {
+            var url = "http://open.api.tianyancha.com/services/open/m/importAndExport/2.0";
+            var header = GetHeader();
+            //var resStr = HttpMethod.HttpGet(url, header, query);
+            var resStr = "{\"result\":{\"baseInfo\":{\"types\":\"\",\"specialTradeArea\":\"娣卞湷甯傚叾浠栧湴鍖篭",\"industryCategory\":\"鏄剧ず鍣ㄤ欢鍒堕�燶",\"managementCategory\":\"杩涘嚭鍙h揣鐗╂敹鍙戣揣浜篭",\"crCode\":\"44039309KX\",\"economicDivision\":\"缁忔祹鐗瑰尯\",\"administrativeDivision\":\"骞夸笢鐪佹繁鍦冲競鍏夋槑鍖篭",\"validityDate\":\"\",\"recordDate\":\"1267372800000\",\"customsRegisteredAddress\":\"绂忎腑娴峰叧\",\"annualReport\":\"鏈姤閫乗",\"creditRating\":\"楂樼骇璁よ瘉浼佷笟\",\"status\":\"姝e父\"},\"sanction\":[],\"creditRating\":[]},\"reason\":\"ok\",\"error_code\":0}";
+            var resObj = resStr.ToObject<TycImportAndExportReturnTotal>();
+            return resObj;
+        }
 
-
+        public TycPatentsReturnTotal GetPatents(TycPatentsQuery query)
+        {
+            var url = "http://open.api.tianyancha.com/services/open/ipr/patents/3.0";
+            var header = GetHeader();
+            var resStr = HttpMethod.HttpGet(url, header, query);
+            var resObj = resStr.ToObject<TycPatentsReturnTotal>();
+            return resObj;
+        }
+        public TycIprTmReturnTotal GetIprTm(TycIprTmQuery query)
+        {
+            var url = "http://open.api.tianyancha.com/services/open/ipr/tm/2.0";
+            var header = GetHeader();
+            var resStr = HttpMethod.HttpGet(url, header, query);
+            var resObj = resStr.ToObject<TycIprTmReturnTotal>();
+            return resObj;
+        }
+        public TycIprTmDetailReturnTotal GetIprTmDetail(TycIprTmDetailQuery query)
+        {
+            var url = "http://open.api.tianyancha.com/services/open/ipr/tm/detail/2.0";
+            var header = GetHeader();
+            var resStr = HttpMethod.HttpGet(url, header, query);
+            var resObj = resStr.ToObject<TycIprTmDetailReturnTotal>();
+            return resObj;
+        }
+        public TycEmploymentsReturnTotal GetEmployments(TycEmploymentsQuery query)
+        {
+            var url = "http://open.api.tianyancha.com/services/open/m/employments/3.0";
+            var header = GetHeader();
+            var resStr = HttpMethod.HttpGet(url, header, query);
+            var resObj = resStr.ToObject<TycEmploymentsReturnTotal>();
+            return resObj;
+        }
 
     }
 }
\ No newline at end of file
diff --git a/RiskControl.NewService/QiChaCha/TycEntity/TycEmployments.cs b/RiskControl.NewService/QiChaCha/TycEntity/TycEmployments.cs
new file mode 100644
index 0000000..49fc525
--- /dev/null
+++ b/RiskControl.NewService/QiChaCha/TycEntity/TycEmployments.cs
@@ -0,0 +1,81 @@
+锘縰sing System.Collections.Generic;
+using RiskControl.NewService.Entity.QccDbEntity;
+using SqlSugar;
+
+namespace RiskControl.NewService.QiChaCha.TycEntity
+{
+    /// <summary> 
+    /// 浼佷笟鎷涜仒 
+    /// </summary> 
+    public class TycEmploymentsQuery
+    {
+        /// <summary> 
+        /// 姣忛〉鏉℃暟锛堥粯璁�20鏉★紝鏈�澶�20鏉★級 
+        /// </summary> 
+        public int pageSize { get; set; }
+        /// <summary> 
+        /// 鎼滅储鍏抽敭瀛楋紙鍏徃鍚嶇О銆佸叕鍙竔d銆佹敞鍐屽彿鎴栫ぞ浼氱粺涓�淇$敤浠g爜锛� 
+        /// </summary> 
+        public string keyword { get; set; }
+        /// <summary> 
+        /// 褰撳墠椤垫暟锛堥粯璁ょ1椤碉級 
+        /// </summary> 
+        public int pageNum { get; set; }
+
+    }
+    /// <summary> 
+    /// 浼佷笟鎷涜仒 
+    /// </summary> 
+    public class TycEmploymentsReturnTotal : TycBaseResult<TycEmploymentsReturn> { }
+    public class TycEmploymentsReturn
+    {
+        /// <summary>
+        /// 鎬绘潯鏁�
+        /// </summary>
+        public int total { get; set; }
+        /// <summary>
+        /// 鏁版嵁鍒楄〃
+        /// </summary>
+        public List<TycEmploymentsReturnItem> items { get; set; }
+    }
+    [SugarTable("TycEmployments")]
+    public class TycEmploymentsReturnItem : QccPageBaseEntity
+    {
+        /// <summary> 
+        /// 瀛﹀巻 
+        /// </summary> 
+        public string education { get; set; }
+        /// <summary> 
+        /// 鍦板尯 
+        /// </summary> 
+        public string city { get; set; }
+        /// <summary> 
+        /// 鎷涜仒淇℃伅鏉ユ簮 
+        /// </summary> 
+        public string source { get; set; }
+        /// <summary> 
+        /// 鎷涜仒鑱屼綅 
+        /// </summary> 
+        public string title { get; set; }
+        /// <summary> 
+        /// 宸ヤ綔缁忛獙 
+        /// </summary> 
+        public string experience { get; set; }
+        /// <summary> 
+        /// 鍙戝竷鏃ユ湡 
+        /// </summary> 
+        public string startDate { get; set; }
+        /// <summary> 
+        /// 鍏徃id 
+        /// </summary> 
+        public string companyGid { get; set; }
+        /// <summary> 
+        /// 钖祫 
+        /// </summary> 
+        public string salary { get; set; }
+        /// <summary> 
+        /// 鎷涜仒淇℃伅鍦板潃url 
+        /// </summary> 
+        public string webInfoPath { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/RiskControl.NewService/QiChaCha/TycEntity/TycImportAndExport.cs b/RiskControl.NewService/QiChaCha/TycEntity/TycImportAndExport.cs
new file mode 100644
index 0000000..016b25a
--- /dev/null
+++ b/RiskControl.NewService/QiChaCha/TycEntity/TycImportAndExport.cs
@@ -0,0 +1,40 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Newtonsoft.Json.Linq;
+using RiskControl.NewService.Entity.QccDbEntity;
+using SqlSugar;
+
+namespace RiskControl.NewService.QiChaCha.TycEntity
+{
+    /// <summary>
+    /// 杩涘嚭鍙d俊鐢�
+    /// </summary>
+    public class TycImportAndExportQuery
+    {
+        /// <summary>
+        /// 鎼滅储鍏抽敭瀛楋紙鍏徃鍚嶇О銆佸叕鍙竔d銆佹敞鍐屽彿鎴栫ぞ浼氱粺涓�淇$敤浠g爜锛�
+        /// </summary>
+        public String keyword { get; set; }
+
+    }
+    public class TycImportAndExportReturnTotal : TycBaseResult<TycImportAndExportReturn> { }
+    [SugarTable("TycImportAndExport")]
+    public class TycImportAndExportReturn : QccBaseEntity
+    {
+        /// <summary>
+        /// 淇$敤绛夌骇
+        /// </summary>
+        [SugarColumn(IsJson = true)]
+        public List<JObject> creditRating { get; set; }
+        /// <summary>
+        /// 琛屾斂澶勭綒淇℃伅
+        /// </summary>
+        [SugarColumn(IsJson = true)]
+        public List<JObject> sanction { get; set; }
+        /// <summary>
+        /// 鍩烘湰淇℃伅
+        /// </summary>
+        [SugarColumn(IsJson = true)]
+        public JObject baseInfo { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/RiskControl.NewService/QiChaCha/TycEntity/TycIprTm.cs b/RiskControl.NewService/QiChaCha/TycEntity/TycIprTm.cs
new file mode 100644
index 0000000..8200982
--- /dev/null
+++ b/RiskControl.NewService/QiChaCha/TycEntity/TycIprTm.cs
@@ -0,0 +1,123 @@
+锘縰sing System.Collections.Generic;
+using Newtonsoft.Json.Linq;
+using RiskControl.NewService.Entity.QccDbEntity;
+using SqlSugar;
+
+namespace RiskControl.NewService.QiChaCha.TycEntity
+{
+    /// <summary> 
+    /// 浼佷笟鍟嗘爣淇℃伅 
+    /// </summary> 
+    public class TycIprTmQuery
+    {
+        /// <summary> 
+        /// 鐢宠寮�濮嬫棩鏈� 
+        /// </summary> 
+        public string appDateBegin { get; set; }
+        /// <summary> 
+        /// 姣忛〉鏉℃暟锛堥粯璁�20鏉★紝鏈�澶�20鏉★級 
+        /// </summary> 
+        public int pageSize { get; set; }
+        /// <summary> 
+        /// 鍥介檯鍒嗙被(鍙傝�冩枃妗e晢鏍囧浗闄呭垎绫�.pdf) 
+        /// </summary> 
+        public string tmClass { get; set; }
+        /// <summary> 
+        /// 鐢宠缁撴潫鏃ユ湡 
+        /// </summary> 
+        public string appDateEnd { get; set; }
+        /// <summary> 
+        /// 鎼滅储鍏抽敭瀛楋紙鍏徃鍚嶇О銆佸叕鍙竔d銆佹敞鍐屽彿鎴栫ぞ浼氱粺涓�淇$敤浠g爜锛� 
+        /// </summary> 
+        public string keyword { get; set; }
+        /// <summary> 
+        /// 褰撳墠椤垫暟锛堥粯璁ょ1椤碉級 
+        /// </summary> 
+        public int pageNum { get; set; }
+        /// <summary> 
+        /// 鍟嗘爣鐘舵�� 1-鍟嗘爣宸叉敞鍐� 2-鍟嗘爣鏃犳晥 3-鍒濆鍏憡 4-绛夊緟瀹炶川瀹℃煡 5-鍟嗘爣鐢宠涓� 6-鍟嗘爣寮傝涓� 7-椹冲洖澶嶅涓� 8-鍟嗘爣鍏朵粬鎯呭舰 9-绛夊緟椹冲洖澶嶅 10-鎾ら攢/鏃犳晥瀹e憡鐢宠瀹℃煡涓� 
+        /// </summary> 
+        public string status { get; set; }
+
+    }
+    /// <summary> 
+    /// 浼佷笟鍟嗘爣淇℃伅 
+    /// </summary> 
+    public class TycIprTmReturnTotal : TycBaseResult<TycIprTmReturn> { }
+    public class TycIprTmReturn
+    {
+        /// <summary>
+        /// 鎬绘潯鏁�
+        /// </summary>
+        public int total { get; set; }
+        /// <summary>
+        /// 鏁版嵁鍒楄〃
+        /// </summary>
+        public List<TycIprTmReturnItem> items { get; set; }
+    }
+    [SugarTable("TycIprTm")]
+    public class TycIprTmReturnItem : QccPageBaseEntity
+    {
+        /// <summary> 
+        /// 鐘舵�� 
+        /// </summary> 
+        public string status { get; set; }
+        /// <summary> 
+        /// 鍥介檯鍒嗙被code 
+        /// </summary> 
+        public string tmClass { get; set; }
+        /// <summary> 
+        /// 鏃犵敤 
+        /// </summary> 
+        public string searchType { get; set; }
+        /// <summary> 
+        /// 鍞竴鏍囪瘑绗� 
+        /// </summary> 
+        public string uni { get; set; }
+        /// <summary> 
+        /// 鍟嗘爣鍚嶇О 
+        /// </summary> 
+        public string tmName { get; set; }
+        /// <summary> 
+        /// 鍟嗘爣id 
+        /// </summary> 
+        public string id { get; set; }
+        /// <summary> 
+        /// 鏃犵敤 
+        /// </summary> 
+        public string _type { get; set; }
+        /// <summary> 
+        /// 鍥介檯鍒嗙被 
+        /// </summary> 
+        public string intCls { get; set; }
+        /// <summary> 
+        /// 鍟嗘爣娴佺▼锛堝唴閮ㄤ娇鐢紝宸茬粡搴熷純锛� 
+        /// </summary> 
+        public string tmFlow { get; set; }
+        /// <summary> 
+        /// 娴佺▼绫诲埆 
+        /// </summary> 
+        public string category { get; set; }
+        /// <summary> 
+        /// 鍟嗘爣鍥剧墖 
+        /// </summary> 
+        public string tmPic { get; set; }
+        /// <summary> 
+        /// 璺宠浆澶╃溂鏌ラ摼鎺� 
+        /// </summary> 
+        [SugarColumn(IsJson = true)]
+        public List<JObject> connList { get; set; }
+        /// <summary> 
+        /// 鏃犵敤 
+        /// </summary> 
+        public string eventTime { get; set; }
+        /// <summary> 
+        /// 鐢宠鏃ユ湡 
+        /// </summary> 
+        public string appDate { get; set; }
+        /// <summary> 
+        /// 鐢宠浜� 
+        /// </summary> 
+        public string applicantCn { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/RiskControl.NewService/QiChaCha/TycEntity/TycIprTmDetail.cs b/RiskControl.NewService/QiChaCha/TycEntity/TycIprTmDetail.cs
new file mode 100644
index 0000000..08fea2d
--- /dev/null
+++ b/RiskControl.NewService/QiChaCha/TycEntity/TycIprTmDetail.cs
@@ -0,0 +1,51 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Newtonsoft.Json.Linq;
+using RiskControl.NewService.Entity.QccDbEntity;
+using SqlSugar;
+
+namespace RiskControl.NewService.QiChaCha.TycEntity
+{
+    /// <summary>
+    /// 鍟嗘爣淇℃伅璇︽儏
+    /// </summary>
+    public class TycIprTmDetailQuery
+    {
+        /// <summary>
+        /// 娉ㄥ唽鍙�
+        /// </summary>
+        public String regNo { get; set; }
+        /// <summary>
+        /// 鍥介檯鍒嗙被
+        /// </summary>
+        public String intCls { get; set; }
+
+    }
+    public class TycIprTmDetailReturnTotal : TycBaseResult<TycIprTmDetailReturn> { }
+    [SugarTable("TycIprTmDetail")]
+    public class TycIprTmDetailReturn : QccBaseEntity
+    {
+
+        public string IntCls { get; set; }
+
+        /// <summary>
+        /// 鍟嗗搧锛忔湇鍔�
+        /// </summary>
+        [SugarColumn(IsJson = true)]
+        public List<JObject> goodsList { get; set; }
+        /// <summary>
+        /// 
+        /// </summary>
+        [SugarColumn(IsJson = true)]
+        public JObject detail { get; set; }
+        /// <summary>
+        /// 鍟嗘爣鏈�鏂版祦绋�
+        /// </summary>
+        public string flowStep { get; set; }
+        /// <summary>
+        /// 鍟嗘爣娴佺▼
+        /// </summary>
+        [SugarColumn(IsJson = true)]
+        public List<JObject> flowList { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/RiskControl.NewService/QiChaCha/TycEntity/TycPatents.cs b/RiskControl.NewService/QiChaCha/TycEntity/TycPatents.cs
new file mode 100644
index 0000000..14a33c8
--- /dev/null
+++ b/RiskControl.NewService/QiChaCha/TycEntity/TycPatents.cs
@@ -0,0 +1,207 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Newtonsoft.Json.Linq;
+using RiskControl.NewService.Entity.QccDbEntity;
+using SqlSugar;
+
+namespace RiskControl.NewService.QiChaCha.TycEntity
+{
+    /// <summary> 
+    /// 浼佷笟涓撳埄淇℃伅 
+    /// </summary> 
+    public class TycPatentsQuery
+    {
+        /// <summary> 
+        /// 鍙戝竷寮�濮嬫椂闂� 
+        /// </summary> 
+        public string pubDateBegin { get; set; }
+        /// <summary> 
+        /// 鐢宠寮�濮嬫椂闂� 
+        /// </summary> 
+        public string appDateBegin { get; set; }
+        /// <summary> 
+        /// 姣忛〉鏉℃暟锛堥粯璁�20鏉★紝鏈�澶�20鏉★級 
+        /// </summary> 
+        public int pageSize { get; set; }
+        /// <summary> 
+        /// 鍙戝竷缁撴潫鏃堕棿 
+        /// </summary> 
+        public string pubDateEnd { get; set; }
+        /// <summary> 
+        /// 鐢宠缁撴潫鏃堕棿 
+        /// </summary> 
+        public string appDateEnd { get; set; }
+        /// <summary> 
+        /// 鎼滅储鍏抽敭瀛楋紙鍏徃鍚嶇О銆佸叕鍙竔d銆佹敞鍐屽彿鎴栫ぞ浼氱粺涓�淇$敤浠g爜锛� 
+        /// </summary> 
+        public string keyword { get; set; }
+        /// <summary> 
+        /// 褰撳墠椤垫暟锛堥粯璁ょ1椤碉級 
+        /// </summary> 
+        public int pageNum { get; set; }
+        /// <summary> 
+        /// 涓撳埄绫诲瀷锛�1-鍙戞槑涓撳埄 2-瀹炵敤鏂板瀷 3-澶栬涓撳埄锛� 
+        /// </summary> 
+        public int patentType { get; set; }
+
+    }
+    /// <summary> 
+    /// 浼佷笟涓撳埄淇℃伅 
+    /// </summary> 
+    public class TycPatentsReturnTotal : TycBaseResult<TycPatentsReturn> { }
+    public class TycPatentsReturn
+    {
+        /// <summary>
+        /// 鎬绘潯鏁�
+        /// </summary>
+        public int total { get; set; }
+        /// <summary>
+        /// 鏁版嵁鍒楄〃
+        /// </summary>
+        public List<TycPatentsReturnItem> items { get; set; }
+    }
+    [SugarTable("TycPatents")]
+    public class TycPatentsReturnItem : QccPageBaseEntity
+    {
+        /// <summary>
+        /// 鏁版嵁鑾峰彇鏃堕棿
+        /// </summary>
+        public DateTime DbCreateTime { get; set; } = DateTime.Now;
+        public new string CreateTime { get; set; } 
+        /// <summary> 
+        /// 涓诲垎绫诲彿 
+        /// </summary> 
+        public string mainCatNum { get; set; }
+        /// <summary> 
+        /// 鐢宠鍏竷鍙� 
+        /// </summary> 
+        public string pubnumber { get; set; }
+        /// <summary> 
+        /// 鏃犵敤 
+        /// </summary> 
+        public string searchType { get; set; }
+        /// <summary> 
+        /// 鐢宠鍙� 
+        /// </summary> 
+        public string appnumber { get; set; }
+        /// <summary> 
+        /// 瀵瑰簲琛╥d 
+        /// </summary> 
+        public string id { get; set; }
+        /// <summary> 
+        /// 鏃犵敤 
+        /// </summary> 
+        public string _type { get; set; }
+        /// <summary> 
+        /// 娉曞緥鐘舵�� 
+        /// </summary> 
+        [SugarColumn(IsJson = true)]
+        public List<JObject> lawStatus { get; set; }
+        /// <summary> 
+        /// 鍚嶇О 
+        /// </summary> 
+        public string title { get; set; }
+        /// <summary> 
+        /// 涓撳埄鍚嶇О 
+        /// </summary> 
+        public string patentName { get; set; }
+        /// <summary> 
+        /// 鎺堟潈鍏憡鍙� 
+        /// </summary> 
+        public string grantNumber { get; set; }
+        /// <summary> 
+        /// 鎺堟潈鍏憡鏃� 
+        /// </summary> 
+        public string grantDate { get; set; }
+        /// <summary> 
+        /// 浼樺厛鏉冧俊鎭� 
+        /// </summary> 
+        [SugarColumn(IsJson = true)]
+        public List<JObject> priorityInfo { get; set; }
+        /// <summary> 
+        /// 閭紪 
+        /// </summary> 
+        public string postCode { get; set; }
+        /// <summary> 
+        /// 璺宠浆鍒板ぉ鐪兼煡閾炬帴锛堟棤鏁堝瓧娈碉級 
+        /// </summary> 
+        [SugarColumn(IsJson = true)]
+        public List<JObject> connList { get; set; }
+        /// <summary> 
+        /// 鐢宠鏃� 
+        /// </summary> 
+        public string applicationTime { get; set; }
+        /// <summary> 
+        /// 鐢宠浜� 
+        /// </summary> 
+        public string applicantname { get; set; }
+        /// <summary> 
+        /// 涓撳埄绫诲瀷 
+        /// </summary> 
+        public string patentType { get; set; }
+        /// <summary> 
+        /// 鍏紑鍏憡鏃� 
+        /// </summary> 
+        public string pubDate { get; set; }
+        /// <summary> 
+        /// 鐢宠鍏竷鍙凤紙搴熷純锛� 
+        /// </summary> 
+        public string applicationPublishNum { get; set; }
+        /// <summary> 
+        /// 浠g悊鏈烘瀯 
+        /// </summary> 
+        public string agency { get; set; }
+        /// <summary> 
+        /// 鍞竴鏍囪瘑绗� 
+        /// </summary> 
+        public string uni { get; set; }
+        /// <summary> 
+        /// 鍙戞槑浜� 
+        /// </summary> 
+        public string inventor { get; set; }
+        /// <summary> 
+        /// 鍒嗙被 
+        /// </summary> 
+        public string cat { get; set; }
+        /// <summary> 
+        /// 浠g悊浜� 
+        /// </summary> 
+        public string agent { get; set; }
+        /// <summary> 
+        /// 鐢宠鍏竷鏃� 
+        /// </summary> 
+        public string applicationPublishTime { get; set; }
+        /// <summary> 
+        /// 鐢宠鍙�/涓撳埄鍙� 
+        /// </summary> 
+        public string patentNum { get; set; }
+        /// <summary> 
+        /// 鍥剧墖url 
+        /// </summary> 
+        public string imgUrl { get; set; }
+        /// <summary> 
+        /// 鍏ㄩ儴鍒嗙被鍙� 
+        /// </summary> 
+        public string allCatNum { get; set; }
+        /// <summary> 
+        /// 鎽樿 
+        /// </summary> 
+        public string abstracts { get; set; }
+        /// <summary> 
+        /// 鍦板潃 
+        /// </summary> 
+        public string address { get; set; }
+        /// <summary> 
+        /// 鍞竴鏍囪瘑绗� 
+        /// </summary> 
+        public string uuid { get; set; }
+        /// <summary> 
+        /// 鏃犵敤 
+        /// </summary> 
+        public string eventTime { get; set; }
+        /// <summary> 
+        /// 涓撳埄鐘舵�� 
+        /// </summary> 
+        public string patentStatus { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/RiskControl.NewService/RiskControl.NewService.csproj b/RiskControl.NewService/RiskControl.NewService.csproj
index 4662e56..8b33a8b 100644
--- a/RiskControl.NewService/RiskControl.NewService.csproj
+++ b/RiskControl.NewService/RiskControl.NewService.csproj
@@ -516,6 +516,7 @@
     <Compile Include="QiChaCha\TycEntity\TycCourtAnnouncement.cs" />
     <Compile Include="QiChaCha\TycEntity\TycCourtRegister.cs" />
     <Compile Include="QiChaCha\TycEntity\TycCustomer.cs" />
+    <Compile Include="QiChaCha\TycEntity\TycEmployments.cs" />
     <Compile Include="QiChaCha\TycEntity\TycGuarantees.cs" />
     <Compile Include="QiChaCha\TycEntity\TycHiCourt.cs" />
     <Compile Include="QiChaCha\TycEntity\TycHiJudicial.cs" />
@@ -523,8 +524,11 @@
     <Compile Include="QiChaCha\TycEntity\TycHiLawSuit.cs" />
     <Compile Include="QiChaCha\TycEntity\TycHumanCompanyholding.cs" />
     <Compile Include="QiChaCha\TycEntity\TycIcChangeinfo.cs" />
+    <Compile Include="QiChaCha\TycEntity\TycImportAndExport.cs" />
     <Compile Include="QiChaCha\TycEntity\TycInquiryEvaluation.cs" />
     <Compile Include="QiChaCha\TycEntity\TycInverst.cs" />
+    <Compile Include="QiChaCha\TycEntity\TycIprTm.cs" />
+    <Compile Include="QiChaCha\TycEntity\TycIprTmDetail.cs" />
     <Compile Include="QiChaCha\TycEntity\TycJrBankruptcy.cs" />
     <Compile Include="QiChaCha\TycEntity\TycJrDishonest.cs" />
     <Compile Include="QiChaCha\TycEntity\TycJrJudicialCase.cs" />
@@ -535,6 +539,7 @@
     <Compile Include="QiChaCha\TycEntity\TycJudicialSale.cs" />
     <Compile Include="QiChaCha\TycEntity\TycKtannouncement.cs" />
     <Compile Include="QiChaCha\TycEntity\TycParentCompany.cs" />
+    <Compile Include="QiChaCha\TycEntity\TycPatents.cs" />
     <Compile Include="QiChaCha\TycEntity\TycPsNews.cs" />
     <Compile Include="QiChaCha\TycEntity\TycSecurity.cs" />
     <Compile Include="QiChaCha\TycEntity\TycStockIllegal.cs" />
diff --git a/RiskControl.NewService/Service/TianYanChaService.cs b/RiskControl.NewService/Service/TianYanChaService.cs
index 2ed1865..890d112 100644
--- a/RiskControl.NewService/Service/TianYanChaService.cs
+++ b/RiskControl.NewService/Service/TianYanChaService.cs
@@ -3698,6 +3698,249 @@
             }
         }
 
+        public async Task<QccMsgData> GetImportAndExport(string name)
+        {
+            var result = new QccMsgData();
+            if (_expiredDays > 0)
+            {
+                var createTime = await RiskControlRRDb.Queryable<TycImportAndExportReturn>().Where(a => a.CompanyName == name).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime)
+                    .FirstAsync();
+                if (createTime.AddDays(_expiredDays) >= DateTime.Now)
+                {
+                    var dbmodel = await RiskControlRRDb.Queryable<TycImportAndExportReturn>().Where(a => a.CompanyName == name).FirstAsync();
+                    result.Data = dbmodel;
+                    return result;
+                }
+                await RiskControlRRDb.Deleteable<TycImportAndExportReturn>().Where(a => a.CompanyName == name).ExecuteCommandAsync();
+            }
+            var qccResult = _api.GetImportAndExport(new TycImportAndExportQuery() { keyword = name });
+            if (qccResult.Error_code == "0")
+            {
+                var dblist = qccResult.Result;
+                dblist.CompanyName = name;
+                dblist.CreateTime = DateTime.Now;
+                if (_expiredDays > 0) await RiskControlRRDb.Insertable(dblist).ExecuteCommandAsync();
+                result.Data = dblist;
+                return result;
+            }
+            else
+            {
+                result.Message = qccResult.Reason;
+                return result;
+            }
+        }
+        public async Task<QccMsgData> GetPatents(string name, int pageIndex = 1, int pageSize = 10)
+        {
+            var result = new QccMsgData();
+            var resultPage = new Page<TycPatentsReturnItem>();
+            if (_expiredDays > 0)
+            {
+                var createTime = await RiskControlRRDb.Queryable<TycPatentsReturnItem>().Where(a => a.CompanyName == name).OrderBy(a => a.DbCreateTime, OrderByType.Desc).Select(a => a.DbCreateTime).FirstAsync();
+                if (createTime.AddDays(_expiredDays) >= DateTime.Now)
+                {
+                    var query = RiskControlRRDb.Queryable<TycPatentsReturnItem>().Where(a => a.CompanyName == name).Where(a => a.ItemIndex > (pageIndex - 1) * pageSize && a.ItemIndex <= pageIndex * pageSize);
+                    var dbcount = await query.CountAsync();
+                    var totalcount = await RiskControlRRDb.Queryable<TycPatentsReturnItem>().Where(a => a.CompanyName == name).OrderBy(a => a.DbCreateTime, OrderByType.Desc).Select(a => a.TotalItems).FirstAsync();
+                    if (dbcount == pageSize || dbcount == totalcount || dbcount == totalcount - pageSize * (pageIndex - 1))
+                    {
+                        var dbList = await RiskControlRRDb.Queryable<TycPatentsReturnItem>().Where(a => a.CompanyName == name).Where(a => a.ItemIndex > (pageIndex - 1) * pageSize && a.ItemIndex <= pageIndex * pageSize).OrderBy(a => a.ItemIndex).ToListAsync();
+                        resultPage.CurrentPage = pageIndex;
+                        resultPage.PageSize = pageSize;
+                        resultPage.TotalItems = totalcount;
+                        resultPage.Items = dbList;
+                        result.Data = resultPage;
+                        return result;
+                    }
+                    var dbTotalPages = totalcount != 0
+                    ? (totalcount % pageSize) == 0 ? (totalcount / pageSize) : (totalcount / pageSize) + 1
+                    : 0;
+                    if (dbTotalPages < pageIndex)
+                    {
+                        result.Message = "鏌ヨ鏃犵粨鏋�";
+                        return result;
+                    }
+                }
+                await RiskControlRRDb.Deleteable<TycPatentsReturnItem>().Where(a => a.CompanyName == name).ExecuteCommandAsync();
+            }
+            var qccResult = _api.GetPatents(new TycPatentsQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
+            if (qccResult.Error_code == "0")
+            {
+                var addList = new List<TycPatentsReturnItem>();
+                for (var i = 0; i < qccResult.Result.items.Count; i++)
+                {
+                    var item = qccResult.Result.items[i];
+                    item.DbCreateTime = DateTime.Now;
+                    item.CompanyName = name;
+                    item.ItemIndex = (pageIndex - 1) * pageSize + i + 1;
+                    item.TotalItems = qccResult.Result.total;
+                    addList.Add(item);
+                }
+                if (_expiredDays > 0) await RiskControlRRDb.Insertable(addList).ExecuteCommandAsync();
+                resultPage.CurrentPage = pageIndex;
+                resultPage.PageSize = pageSize;
+                resultPage.TotalItems = qccResult.Result.total;
+                resultPage.Items = addList;
+                result.Data = resultPage;
+                return result;
+            }
+            else
+            {
+                result.Message = qccResult.Reason;
+                return result;
+            }
+        }
+        public async Task<QccMsgData> GetIprTm(string name, int pageIndex = 1, int pageSize = 10)
+        {
+            var result = new QccMsgData();
+            var resultPage = new Page<TycIprTmReturnItem>();
+            if (_expiredDays > 0)
+            {
+                var createTime = await RiskControlRRDb.Queryable<TycIprTmReturnItem>().Where(a => a.CompanyName == name).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime).FirstAsync();
+                if (createTime.AddDays(_expiredDays) >= DateTime.Now)
+                {
+                    var query = RiskControlRRDb.Queryable<TycIprTmReturnItem>().Where(a => a.CompanyName == name).Where(a => a.ItemIndex > (pageIndex - 1) * pageSize && a.ItemIndex <= pageIndex * pageSize);
+                    var dbcount = await query.CountAsync();
+                    var totalcount = await RiskControlRRDb.Queryable<TycIprTmReturnItem>().Where(a => a.CompanyName == name).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.TotalItems).FirstAsync();
+                    if (dbcount == pageSize || dbcount == totalcount || dbcount == totalcount - pageSize * (pageIndex - 1))
+                    {
+                        var dbList = await RiskControlRRDb.Queryable<TycIprTmReturnItem>().Where(a => a.CompanyName == name).Where(a => a.ItemIndex > (pageIndex - 1) * pageSize && a.ItemIndex <= pageIndex * pageSize).OrderBy(a => a.ItemIndex).ToListAsync();
+                        resultPage.CurrentPage = pageIndex;
+                        resultPage.PageSize = pageSize;
+                        resultPage.TotalItems = totalcount;
+                        resultPage.Items = dbList;
+                        result.Data = resultPage;
+                        return result;
+                    }
+                    var dbTotalPages = totalcount != 0
+                    ? (totalcount % pageSize) == 0 ? (totalcount / pageSize) : (totalcount / pageSize) + 1
+                    : 0;
+                    if (dbTotalPages < pageIndex)
+                    {
+                        result.Message = "鏌ヨ鏃犵粨鏋�";
+                        return result;
+                    }
+                }
+                await RiskControlRRDb.Deleteable<TycIprTmReturnItem>().Where(a => a.CompanyName == name).ExecuteCommandAsync();
+            }
+            var qccResult = _api.GetIprTm(new TycIprTmQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
+            if (qccResult.Error_code == "0")
+            {
+                var addList = new List<TycIprTmReturnItem>();
+                for (var i = 0; i < qccResult.Result.items.Count; i++)
+                {
+                    var item = qccResult.Result.items[i];
+                    item.CreateTime = DateTime.Now;
+                    item.CompanyName = name;
+                    item.ItemIndex = (pageIndex - 1) * pageSize + i + 1;
+                    item.TotalItems = qccResult.Result.total;
+                    addList.Add(item);
+                }
+                if (_expiredDays > 0) await RiskControlRRDb.Insertable(addList).ExecuteCommandAsync();
+                resultPage.CurrentPage = pageIndex;
+                resultPage.PageSize = pageSize;
+                resultPage.TotalItems = qccResult.Result.total;
+                resultPage.Items = addList;
+                result.Data = resultPage;
+                return result;
+            }
+            else
+            {
+                result.Message = qccResult.Reason;
+                return result;
+            }
+        }
+        public async Task<QccMsgData> GetIprTmDetail(string regNo,string intCls)
+        {
+            var result = new QccMsgData();
+            if (_expiredDays > 0)
+            {
+                var createTime = await RiskControlRRDb.Queryable<TycIprTmDetailReturn>().Where(a => a.RegNo == regNo && a.IntCls == intCls).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime)
+                    .FirstAsync();
+                if (createTime.AddDays(_expiredDays) >= DateTime.Now)
+                {
+                    var dbmodel = await RiskControlRRDb.Queryable<TycIprTmDetailReturn>().Where(a => a.RegNo == regNo && a.IntCls == intCls).FirstAsync();
+                    result.Data = dbmodel;
+                    return result;
+                }
+                await RiskControlRRDb.Deleteable<TycIprTmDetailReturn>().Where(a => a.RegNo == regNo && a.IntCls == intCls).ExecuteCommandAsync();
+            }
+            var qccResult = _api.GetIprTmDetail(new TycIprTmDetailQuery() { regNo = regNo,intCls = intCls });
+            if (qccResult.Error_code == "0")
+            {
+                var dblist = qccResult.Result;
+                dblist.CreateTime = DateTime.Now;
+                dblist.RegNo = regNo;
+                dblist.IntCls = intCls;
+                if (_expiredDays > 0) await RiskControlRRDb.Insertable(dblist).ExecuteCommandAsync();
+                result.Data = dblist;
+                return result;
+            }
+            else
+            {
+                result.Message = qccResult.Reason;
+                return result;
+            }
+        }
+        public async Task<QccMsgData> GetEmployments(string name, int pageIndex = 1, int pageSize = 10)
+        {
+            var result = new QccMsgData();
+            var resultPage = new Page<TycEmploymentsReturnItem>();
+            if (_expiredDays > 0)
+            {
+                var createTime = await RiskControlRRDb.Queryable<TycEmploymentsReturnItem>().Where(a => a.CompanyName == name).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime).FirstAsync();
+                if (createTime.AddDays(_expiredDays) >= DateTime.Now)
+                {
+                    var query = RiskControlRRDb.Queryable<TycEmploymentsReturnItem>().Where(a => a.CompanyName == name).Where(a => a.ItemIndex > (pageIndex - 1) * pageSize && a.ItemIndex <= pageIndex * pageSize);
+                    var dbcount = await query.CountAsync();
+                    var totalcount = await RiskControlRRDb.Queryable<TycEmploymentsReturnItem>().Where(a => a.CompanyName == name).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.TotalItems).FirstAsync();
+                    if (dbcount == pageSize || dbcount == totalcount || dbcount == totalcount - pageSize * (pageIndex - 1))
+                    {
+                        var dbList = await RiskControlRRDb.Queryable<TycEmploymentsReturnItem>().Where(a => a.CompanyName == name).Where(a => a.ItemIndex > (pageIndex - 1) * pageSize && a.ItemIndex <= pageIndex * pageSize).OrderBy(a => a.ItemIndex).ToListAsync();
+                        resultPage.CurrentPage = pageIndex;
+                        resultPage.PageSize = pageSize;
+                        resultPage.TotalItems = totalcount;
+                        resultPage.Items = dbList;
+                        result.Data = resultPage;
+                        return result;
+                    }
+                    var dbTotalPages = totalcount != 0
+                    ? (totalcount % pageSize) == 0 ? (totalcount / pageSize) : (totalcount / pageSize) + 1
+                    : 0;
+                    if (dbTotalPages < pageIndex)
+                    {
+                        result.Message = "鏌ヨ鏃犵粨鏋�";
+                        return result;
+                    }
+                }
+                await RiskControlRRDb.Deleteable<TycEmploymentsReturnItem>().Where(a => a.CompanyName == name).ExecuteCommandAsync();
+            }
+            var qccResult = _api.GetEmployments(new TycEmploymentsQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
+            if (qccResult.Error_code == "0")
+            {
+                var addList = new List<TycEmploymentsReturnItem>();
+                for (var i = 0; i < qccResult.Result.items.Count; i++)
+                {
+                    var item = qccResult.Result.items[i];
+                    item.CreateTime = DateTime.Now;
+                    item.CompanyName = name;
+                    item.ItemIndex = (pageIndex - 1) * pageSize + i + 1;
+                    item.TotalItems = qccResult.Result.total;
+                    addList.Add(item);
+                }
+                if (_expiredDays > 0) await RiskControlRRDb.Insertable(addList).ExecuteCommandAsync();
+                resultPage.CurrentPage = pageIndex;
+                resultPage.PageSize = pageSize;
+                resultPage.TotalItems = qccResult.Result.total;
+                resultPage.Items = addList;
+                result.Data = resultPage;
+                return result;
+            }
+            else
+            {
+                result.Message = qccResult.Reason;
+                return result;
+            }
+        }
 
 
 

--
Gitblit v1.8.0