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 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 243 insertions(+), 0 deletions(-)

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