using System;
using System.Collections.Generic;
using System.Configuration;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using CommonHelper;
using RiskControl.NewService.Entity.TycDbEntity;
using RiskControl.NewService.Extension;
using RiskControl.NewService.QiChaCha;
using RiskControl.NewService.QiChaCha.TycEntity;
using SqlSugar;
namespace RiskControl.NewService.Service
{
///
/// 天眼查
///
public class TianYanChaService : DbContext
{
private TianYanChaApi _api = new TianYanChaApi();
private int _expiredDays;
private int _expiredDays2;
private int _expiredDaysSeniorExecutive = 30;//天眼查获取董监高默认30天
private int _expiredDaysSlow = 180;//天眼查获取其他信息180天
public TianYanChaService()
{
//if (!int.TryParse(ConfigurationManager.AppSettings["TianyanchaExpiredDays"], out _expiredDays))
// _expiredDays = 10;
int.TryParse(ConfigurationManager.AppSettings["TianyanchaExpiredDays"], out _expiredDays);
int.TryParse(ConfigurationManager.AppSettings["TianyanchaExpiredDays2"], out _expiredDays2);
}
///
/// 质押明细列表
///
/// 公司名称
///
public async Task GetStockPledgeList(string name, int pageIndex, int pageSize)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetStockPledgeList(new StockPledgeListQuery() { name = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
for (var i = 0; i < qccResult.Result.items.Count; i++)
{
var item = qccResult.Result.items[i];
var dbmodel = item.MapTo();
dbmodel.CreateTime = DateTime.Now;
dbmodel.CompanyName = name;
dbmodel.ItemIndex = (pageIndex - 1) * pageSize + i + 1;
dbmodel.TotalItems = qccResult.Result.total;
addList.Add(dbmodel);
}
// 如果使用缓存,则插入数据库
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;
}
}
///
/// 质押明细(配合GetStockPledgeList)
///
/// 内部id(businessId)
/// 公司id
///
public async Task GetStockPledgeDetail(string businessId, string companyId)
{
var result = new QccMsgData();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().Where(a => a.BusinessId == businessId).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime)
.FirstAsync();
if (createTime.AddDays(_expiredDays) >= DateTime.Now)
{
var dbmodel = await RiskControlRRDb.Queryable().Where(a => a.BusinessId == businessId).FirstAsync();
result.Data = dbmodel;
return result;
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.BusinessId == businessId).ExecuteCommandAsync();
}
var qccResult = _api.GetStockPledgeDetail(new StockPledgeDetailQuery() { businessId = businessId, id = companyId });
if (qccResult.Error_code == "0")
{
var dbmodel = qccResult.Result.MapTo();
dbmodel.CreateTime = DateTime.Now;
dbmodel.CompanyName = dbmodel.PledgeIns;
//dbmodel.BusinessId = id;
if (_expiredDays > 0) await RiskControlRRDb.Insertable(dbmodel).ExecuteCommandAsync();
result.Data = dbmodel;
return result;
}
else
{
result.Message = qccResult.Reason;
return result;
}
}
///
/// 知识产权出质
///
/// 公司名称
///
public async Task GetPledgeReg(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetPledgeReg(new PledgeRegQuery() { name = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
for (var i = 0; i < qccResult.Result.items.Count; i++)
{
var item = qccResult.Result.items[i];
var dbmodel = item.MapTo();
dbmodel.CreateTime = DateTime.Now;
dbmodel.CompanyName = name;
dbmodel.ItemIndex = (pageIndex - 1) * pageSize + i + 1;
dbmodel.TotalItems = qccResult.Result.total;
addList.Add(dbmodel);
}
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 GetConsumptionRestriction(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetConsumptionRestriction(new ConsumptionRestrictionQuery() { name = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
for (var i = 0; i < qccResult.Result.items.Count; i++)
{
var item = qccResult.Result.items[i];
var dbmodel = item.MapTo();
dbmodel.CreateTime = DateTime.Now;
dbmodel.CompanyName = name;
dbmodel.ItemIndex = (pageIndex - 1) * pageSize + i + 1;
dbmodel.TotalItems = qccResult.Result.total;
addList.Add(dbmodel);
}
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 GetEndCase(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetEndCase(new EndCaseQuery() { name = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
for (var i = 0; i < qccResult.Result.items.Count; i++)
{
var item = qccResult.Result.items[i];
var dbmodel = item.MapTo();
dbmodel.CreateTime = DateTime.Now;
dbmodel.CompanyName = name;
dbmodel.ItemIndex = (pageIndex - 1) * pageSize + i + 1;
dbmodel.TotalItems = qccResult.Result.total;
addList.Add(dbmodel);
}
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 GetPublicWeChat(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDaysSlow > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().Where(a => a.CompanyName == name).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime)
.FirstAsync();
if (createTime.AddDays(_expiredDaysSlow) >= DateTime.Now)
{
var query = RiskControlRRDb.Queryable().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetPublicWeChat(new PublicWeChatQuery() { name = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
for (var i = 0; i < qccResult.Result.items.Count; i++)
{
var item = qccResult.Result.items[i];
var dbmodel = item.MapTo();
dbmodel.CreateTime = DateTime.Now;
dbmodel.CompanyName = name;
dbmodel.ItemIndex = (pageIndex - 1) * pageSize + i + 1;
dbmodel.TotalItems = qccResult.Result.total;
addList.Add(dbmodel);
}
if (_expiredDaysSlow > 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 GetShareStructure(string name)
{
var result = new QccMsgData();
if (_expiredDaysSlow > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().Where(a => a.CompanyName == name).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime)
.FirstAsync();
if (createTime.AddDays(_expiredDaysSlow) >= DateTime.Now)
{
var dbmodel = await RiskControlRRDb.Queryable().Where(a => a.CompanyName == name).OrderBy(a=>a.PubDate, OrderByType.Desc).ToListAsync();
result.Data = dbmodel;
return result;
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetShareStructure(new ShareStructureQuery() { name = name});
if (qccResult.Error_code == "0")
{
// 2.1 当前返回结果的股本信息
var addList = new List();
for (var i = 0; i < qccResult.Result.dataList.Count; i++)
{
var item = qccResult.Result.dataList[i];
var dbmodel = item.MapTo();
dbmodel.CreateTime = DateTime.Now;
dbmodel.CompanyName = name;
addList.Add(dbmodel);
}
// 2.2 查询其他时间节点的股本信息,第一条就是2.1查询所得
for (var tIndex = 1; tIndex < qccResult.Result.timeList.Count; tIndex++)
{
var time = qccResult.Result.timeList[tIndex];
var qccResult2 = _api.GetShareStructure(new ShareStructureQuery() {name = name,time = time});
for (var i = 0; i < qccResult2.Result.dataList.Count; i++)
{
var item = qccResult2.Result.dataList[i];
var dbmodel = item.MapTo();
dbmodel.CreateTime = DateTime.Now;
dbmodel.CompanyName = name;
addList.Add(dbmodel);
}
}
if (_expiredDaysSlow > 0) await RiskControlRRDb.Insertable(addList).ExecuteCommandAsync();
result.Data = addList.OrderByDescending(a => a.PubDate).ToList(); ;
return result;
}
else
{
result.Message = qccResult.Reason;
return result;
}
}
///
/// 司法协助
///
/// 公司名称
///
public async Task GetJudicialList(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetJudicialList(new JudicialListQuery() { name = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
for (var i = 0; i < qccResult.Result.items.Count; i++)
{
var item = qccResult.Result.items[i];
var dbmodel = item.MapTo();
dbmodel.CreateTime = DateTime.Now;
dbmodel.CompanyName = name;
dbmodel.ItemIndex = (pageIndex - 1) * pageSize + i + 1;
dbmodel.TotalItems = qccResult.Result.total;
addList.Add(dbmodel);
}
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;
}
}
///
/// 司法协助详情
///
/// 司法协助id(assistanceId)
///
public async Task GetJudicialDetail(string assistanceId)
{
var result = new QccMsgData();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().Where(a => a.AssistanceId == assistanceId).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime)
.FirstAsync();
if (createTime.AddDays(_expiredDays) >= DateTime.Now)
{
var dbmodel = await RiskControlRRDb.Queryable().Where(a => a.AssistanceId == assistanceId).FirstAsync();
result.Data = dbmodel;
return result;
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.AssistanceId == assistanceId).ExecuteCommandAsync();
}
var qccResult = _api.GetJudicialDetail(new JudicialDetailQuery() { assistanceId = assistanceId });
if (qccResult.Error_code == "0")
{
var dbmodel = new TycJudicialDetail();
dbmodel.CreateTime = DateTime.Now;
//dbmodel.CompanyName = dbmodel.PledgeIns;
dbmodel.AssistanceId = assistanceId;
dbmodel.ResultData = qccResult.Result.ToJson();
if (_expiredDays > 0) await RiskControlRRDb.Insertable(dbmodel).ExecuteCommandAsync();
result.Data = dbmodel;
return result;
}
else
{
result.Message = qccResult.Reason;
return result;
}
}
///
/// 股东信息
///
/// 公司名称
///
public async Task GetHolderList(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDaysSlow > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().Where(a => a.CompanyName == name).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime)
.FirstAsync();
if (createTime.AddDays(_expiredDaysSlow) >= DateTime.Now)
{
var query = RiskControlRRDb.Queryable().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetHolderList(new HolderQuery() { name = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
for (var i = 0; i < qccResult.Result.items.Count; i++)
{
var item = qccResult.Result.items[i];
var dbmodel = item.MapTo();
dbmodel.CreateTime = DateTime.Now;
dbmodel.CompanyName = name;
dbmodel.ItemIndex = (pageIndex - 1) * pageSize + i + 1;
dbmodel.TotalItems = qccResult.Result.total;
addList.Add(dbmodel);
}
if (_expiredDaysSlow > 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 GetTycAnnualreportList(string name, int pageIndex = 1, int pageSize = 100)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetAnnualreport(new TycAnnualreportQuery() { keyword = name});
if (qccResult.Error_code == "0")
{
var addList = new List();
for (var i = 0; i < qccResult.Result.items.Count; i++)
{
var item = qccResult.Result.items[i];
var dbmodel = item.MapTo();
dbmodel.ReportYear = item.BaseInfo.ReportYear;
dbmodel.CreateTime = DateTime.Now;
dbmodel.CompanyName = name;
dbmodel.ItemIndex = (pageIndex - 1) * pageSize + i + 1;
dbmodel.TotalItems = qccResult.Result.total;
addList.Add(dbmodel);
}
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 GetSeniorExecutive(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDaysSlow > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().Where(a => a.CompanyName == name).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime)
.FirstAsync();
if (createTime.AddDays(_expiredDaysSlow) >= DateTime.Now)
{
var query = RiskControlRRDb.Queryable().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetSeniorExecutive(new TycSeniorExecutiveQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
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 (_expiredDaysSlow > 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 GetBalanceSheet(string name,string year)
{
var result = new QccMsgData();
if (_expiredDays > 0 && year!=null)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().Where(a => a.CompanyName == name&&a.year==year).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime)
.FirstAsync();
if (createTime.AddDays(_expiredDays) >= DateTime.Now)
{
var dbmodel = await RiskControlRRDb.Queryable().Where(a => a.CompanyName == name && a.year == year).ToListAsync();
result.Data = dbmodel;
return result;
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name && a.year == year).ExecuteCommandAsync();
}
var qccResult = _api.GetBalanceSheet(new TycBalanceSheetQuery() { keyword = name,year = year});
if (qccResult.Error_code == "0")
{
var dblist = qccResult.Result.corpBalanceSheet;
dblist.ForEach(dbmodel=>
{
dbmodel.CreateTime = DateTime.Now;
dbmodel.CompanyName = name;
dbmodel.year = year;
dbmodel.corpFinancialYears = qccResult.Result.corpFinancialYears;
});
if (_expiredDays > 0) await RiskControlRRDb.Insertable(dblist).ExecuteCommandAsync();
result.Data = dblist;
return result;
}
else
{
result.Message = qccResult.Reason;
return result;
}
}
///
/// 现金流量表
///
/// 公司
///
public async Task GetCashFlow(string name, string year)
{
var result = new QccMsgData();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().Where(a => a.CompanyName == name && a.year == year).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime)
.FirstAsync();
if (createTime.AddDays(_expiredDays) >= DateTime.Now)
{
var dbmodel = await RiskControlRRDb.Queryable().Where(a => a.CompanyName == name && a.year == year).ToListAsync();
result.Data = dbmodel;
return result;
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name && a.year == year).ExecuteCommandAsync();
}
var qccResult = _api.GetCashFlow(new TycCashFlowQuery() { keyword = name, year = year });
if (qccResult.Error_code == "0")
{
var dblist = qccResult.Result.corpCashFlow;
dblist.ForEach(dbmodel =>
{
dbmodel.CreateTime = DateTime.Now;
dbmodel.CompanyName = name;
dbmodel.year = year;
dbmodel.corpFinancialYears = qccResult.Result.corpFinancialYears;
});
if (_expiredDays > 0) await RiskControlRRDb.Insertable(dblist).ExecuteCommandAsync();
result.Data = dblist;
return result;
}
else
{
result.Message = qccResult.Reason;
return result;
}
}
///
/// 利润表
///
/// 公司
///
public async Task GetProfit(string name, string year)
{
var result = new QccMsgData();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().Where(a => a.CompanyName == name && a.year == year).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime)
.FirstAsync();
if (createTime.AddDays(_expiredDays) >= DateTime.Now)
{
var dbmodel = await RiskControlRRDb.Queryable().Where(a => a.CompanyName == name && a.year == year).ToListAsync();
result.Data = dbmodel;
return result;
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name && a.year == year).ExecuteCommandAsync();
}
var qccResult = _api.GetProfit(new TycProfitQuery() { keyword = name, year = year });
if (qccResult.Error_code == "0")
{
var dblist = qccResult.Result.corpProfit;
dblist.ForEach(dbmodel =>
{
dbmodel.CreateTime = DateTime.Now;
dbmodel.CompanyName = name;
dbmodel.year = year;
dbmodel.corpFinancialYears = qccResult.Result.corpFinancialYears;
});
if (_expiredDays > 0) await RiskControlRRDb.Insertable(dblist).ExecuteCommandAsync();
result.Data = dblist;
return result;
}
else
{
result.Message = qccResult.Reason;
return result;
}
}
///
/// 历史主要人员
///
///
public async Task GetMembers(string name)
{
var result = new QccMsgData();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().Where(a => a.CompanyName == name).ToListAsync();
result.Data = dbmodel;
return result;
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetMembers(new TycMembersQuery() { keyword = name });
if (qccResult.Error_code == "0")
{
var r = qccResult.Result;
r.CreateTime = DateTime.Now;
r.CompanyName = name;
if (_expiredDays > 0) await RiskControlRRDb.Insertable(r).ExecuteCommandAsync();
result.Data = r;
return result;
}
else
{
result.Message = qccResult.Reason;
return result;
}
}
///
/// 历史经营异常
///
///
public async Task GetAbnormal(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetAbnormal(new TycAbnormalQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
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 GetIcp(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetIcp(new TycIcpQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
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 GetLsJudicial(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetLsJudicial(new TycLsJudicialQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
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 GetLsJudicialDetail(string id)
{
var result = new QccMsgData();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().Where(a => a.Id == id).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime)
.FirstAsync();
if (createTime.AddDays(_expiredDays) >= DateTime.Now)
{
var dbmodel = await RiskControlRRDb.Queryable().Where(a => a.Id == id).FirstAsync();
result.Data = dbmodel;
return result;
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.Id == id).ExecuteCommandAsync();
}
var qccResult = _api.GetLsJudicialDetail(new TycLsJudicialDetailQuery() {businessId = id});
if (qccResult.Error_code == "0")
{
var dblist = qccResult.Result;
dblist.CreateTime = DateTime.Now;
dblist.Id = id;
if (_expiredDays > 0) await RiskControlRRDb.Insertable(dblist).ExecuteCommandAsync();
result.Data = dblist;
return result;
}
else
{
result.Message = qccResult.Reason;
return result;
}
}
///
/// 税务评级
///
///
public async Task GetTaxCredit(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDaysSlow > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().Where(a => a.CompanyName == name).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime).FirstAsync();
if (createTime.AddDays(_expiredDaysSlow) >= DateTime.Now)
{
var query = RiskControlRRDb.Queryable().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetTaxCredit(new TycTaxCreditQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
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 (_expiredDaysSlow > 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 GetDoubleRandomCheck(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDaysSlow > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().Where(a => a.CompanyName == name).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime).FirstAsync();
if (createTime.AddDays(_expiredDaysSlow) >= DateTime.Now)
{
var query = RiskControlRRDb.Queryable().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetDoubleRandomCheck(new TycDoubleRandomCheckQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
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 (_expiredDaysSlow > 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 GetTaxpayer(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetTaxpayer(new TycTaxpayerQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
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 GetDoubleRandomCheckDetail(string id, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDaysSlow > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().Where(a => a.businessId == id).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime).FirstAsync();
if (createTime.AddDays(_expiredDaysSlow) >= DateTime.Now)
{
var query = RiskControlRRDb.Queryable().Where(a => a.businessId == id).Where(a => a.ItemIndex > (pageIndex - 1) * pageSize && a.ItemIndex <= pageIndex * pageSize);
var dbcount = await query.CountAsync();
var totalcount = await RiskControlRRDb.Queryable().Where(a => a.businessId == id).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().Where(a => a.businessId == id).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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.businessId == id).ExecuteCommandAsync();
}
var qccResult = _api.GetDoubleRandomCheckDetail(new TycDoubleRandomCheckDetailQuery() { businessId = id, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
for (var i = 0; i < qccResult.Result.items.Count; i++)
{
var item = qccResult.Result.items[i];
item.CreateTime = DateTime.Now;
item.businessId = id;
item.ItemIndex = (pageIndex - 1) * pageSize + i + 1;
item.TotalItems = qccResult.Result.total;
addList.Add(item);
}
if (_expiredDaysSlow > 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 GetBaseinfoV3(string name)
{
var result = new QccMsgData();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().Where(a => a.CompanyName == name).FirstAsync();
result.Data = dbmodel;
return result;
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetBaseinfoV3(new TycMembersQuery() { keyword = name });
if (qccResult.Error_code == "0")
{
var r = qccResult.Result;
r.CreateTime = DateTime.Now;
r.CompanyName = name;
if (_expiredDays > 0) await RiskControlRRDb.Insertable(r).ExecuteCommandAsync();
result.Data = r;
return result;
}
else
{
result.Message = qccResult.Reason;
return result;
}
}
///
/// 搜索
///
///
public async Task GetSearch2(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetSearch2(new TycSearch2Query() { word = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
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 GetSendAnnouncement(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetSendAnnouncement(new TycSendAnnouncementQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
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 GetCourtRegister(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetCourtRegister(new TycCourtRegisterQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
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 GetKtannouncement(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetKtannouncement(new TycKtannouncementQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
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 GetAnnouncement(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetAnnouncement(new TycAnnouncementQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
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 GetCourtAnnouncement(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetCourtAnnouncement(new TycCourtAnnouncementQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
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 GetHiCourt(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetHiCourt(new TycHiCourtQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
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 GetJrLawSuit(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.CompanyName == name).ExecuteCommandAsync();
}
var qccResult = _api.GetJrLawSuit(new TycJrLawSuitQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
if (qccResult.Error_code == "0")
{
var addList = new List();
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 GetJrLawSuitDetail(string uuid)
{
var result = new QccMsgData();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().Where(a => a.uuid == uuid).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime)
.FirstAsync();
if (createTime.AddDays(_expiredDays) >= DateTime.Now)
{
var dbmodel = await RiskControlRRDb.Queryable().Where(a => a.uuid == uuid).FirstAsync();
result.Data = dbmodel;
return result;
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.uuid == uuid).ExecuteCommandAsync();
}
var qccResult = _api.GetJrLawSuitDetail(new TycJrLawSuitDetailQuery() { uuid = uuid });
if (qccResult.Error_code == "0")
{
var dblist = qccResult.Result;
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 GetHiJudicialDetail(string businessId)
{
var result = new QccMsgData();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().Where(a => a.businessId == businessId).OrderBy(a => a.CreateTime, OrderByType.Desc).Select(a => a.CreateTime)
.FirstAsync();
if (createTime.AddDays(_expiredDays) >= DateTime.Now)
{
var dbmodel = await RiskControlRRDb.Queryable().Where(a => a.businessId == businessId).FirstAsync();
result.Data = dbmodel;
return result;
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable().Where(a => a.businessId == businessId).ExecuteCommandAsync();
}
var qccResult = _api.GetHiJudicialDetail(new TycHiJudicialDetailQuery() { businessId = businessId });
if (qccResult.Error_code == "0")
{
var dblist = qccResult.Result;
dblist.CreateTime = DateTime.Now;
dblist.businessId = businessId;
if (_expiredDays > 0) await RiskControlRRDb.Insertable(dblist).ExecuteCommandAsync();
result.Data = dblist;
return result;
}
else
{
result.Message = qccResult.Reason;
return result;
}
}
///
/// 历史法律诉讼
///
///
public async Task GetHiLawSuit(string name, int pageIndex = 1, int pageSize = 10)
{
var result = new QccMsgData();
var resultPage = new Page();
if (_expiredDays > 0)
{
// 1.数据库是存在
var createTime = await RiskControlRRDb.Queryable().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().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().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().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;
}
}
// 2.不存在或过期
await RiskControlRRDb.Deleteable