admin
2023-10-18 e80a22d84d2e1321843b4e18d99d9a9fc29d315e
RiskControl.NewService/Service/TianYanChaService.cs
@@ -3576,8 +3576,371 @@
        }
        public async Task<QccMsgData> GetJudicialSale(string name, int pageIndex = 1, int pageSize = 10)
        {
            var result = new QccMsgData();
            var resultPage = new Page<TycJudicialSaleReturnItem>();
            if (_expiredDays > 0)
            {
                var createTime = await RiskControlRRDb.Queryable<TycJudicialSaleReturnItem>().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<TycJudicialSaleReturnItem>().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<TycJudicialSaleReturnItem>().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<TycJudicialSaleReturnItem>().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<TycJudicialSaleReturnItem>().Where(a => a.CompanyName == name).ExecuteCommandAsync();
            }
            var qccResult = _api.GetJudicialSale(new TycJudicialSaleQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
            if (qccResult.Error_code == "0")
            {
                var addList = new List<TycJudicialSaleReturnItem>();
                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> GetInquiryEvaluation(string name, int pageIndex = 1, int pageSize = 10)
        {
            var result = new QccMsgData();
            var resultPage = new Page<TycInquiryEvaluationReturnItem>();
            if (_expiredDays > 0)
            {
                var createTime = await RiskControlRRDb.Queryable<TycInquiryEvaluationReturnItem>().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<TycInquiryEvaluationReturnItem>().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<TycInquiryEvaluationReturnItem>().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<TycInquiryEvaluationReturnItem>().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<TycInquiryEvaluationReturnItem>().Where(a => a.CompanyName == name).ExecuteCommandAsync();
            }
            var qccResult = _api.GetInquiryEvaluation(new TycInquiryEvaluationQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
            if (qccResult.Error_code == "0")
            {
                var addList = new List<TycInquiryEvaluationReturnItem>();
                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> 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;
            }
        }