WX
2023-05-16 bf11e5073a4a49aa6df007b7e407abc448ced399
司法解析+变更记录
5个文件已修改
2个文件已添加
314 ■■■■■ 已修改文件
GasolineBlend/Controllers/TianYanChaController.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
RiskControl.NewService/QiChaCha/TianYanChaApi.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
RiskControl.NewService/QiChaCha/TycEntity/TycIcChangeinfo.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
RiskControl.NewService/QiChaCha/TycEntity/TycJrBankruptcy.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
RiskControl.NewService/QiChaCha/TycEntity/TycJrJudicialCase.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
RiskControl.NewService/RiskControl.NewService.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
RiskControl.NewService/Service/TianYanChaService.cs 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
GasolineBlend/Controllers/TianYanChaController.cs
@@ -572,6 +572,26 @@
            var result = await _tycService.GetJrDishonest(name, pageIndex, pageSize);
            return result.IsSuccess ? SuccessNoShow(data: result.Data) : ErrorNoShow(result.Message);
        }
        /// <summary>
        /// 司法解析
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public async Task<ActionResult> GetTycJrJudicialCase(string name, int pageIndex = 1, int pageSize = 10)
        {
            var result = await _tycService.GetJrJudicialCase(name, pageIndex, pageSize);
            return result.IsSuccess ? SuccessNoShow(data: result.Data) : ErrorNoShow(result.Message);
        }
        /// <summary>
        /// 变更记录
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public async Task<ActionResult> GetTycIcChangeinfo(string name, int pageIndex = 1, int pageSize = 10)
        {
            var result = await _tycService.GetIcChangeinfo(name, pageIndex, pageSize);
            return result.IsSuccess ? SuccessNoShow(data: result.Data) : ErrorNoShow(result.Message);
        }
RiskControl.NewService/QiChaCha/TianYanChaApi.cs
@@ -626,6 +626,22 @@
            var resObj = resStr.ToObject<TycJrDishonestReturnTotal>();
            return resObj;
        }
        public TycJrJudicialCaseReturnTotal GetJrJudicialCase(TycJrJudicialCaseQuery query)
        {
            var url = "http://open.api.tianyancha.com/services/open/jr/judicialCase/2.0";
            var header = GetHeader();
            var resStr = HttpMethod.HttpGet(url, header, query);
            var resObj = resStr.ToObject<TycJrJudicialCaseReturnTotal>();
            return resObj;
        }
        public TycIcChangeinfoReturnTotal GetIcChangeinfo(TycIcChangeinfoQuery query)
        {
            var url = "http://open.api.tianyancha.com/services/open/ic/changeinfo/2.0";
            var header = GetHeader();
            var resStr = HttpMethod.HttpGet(url, header, query);
            var resObj = resStr.ToObject<TycIcChangeinfoReturnTotal>();
            return resObj;
        }
RiskControl.NewService/QiChaCha/TycEntity/TycIcChangeinfo.cs
New file
@@ -0,0 +1,65 @@
using System.Collections.Generic;
using RiskControl.NewService.Entity.QccDbEntity;
using SqlSugar;
namespace RiskControl.NewService.QiChaCha.TycEntity
{
    /// <summary>
    /// 变更记录
    /// </summary>
    public class TycIcChangeinfoQuery
    {
        /// <summary>
        /// 搜索关键字(公司名称、公司id、注册号或社会统一信用代码)
        /// </summary>
        public string keyword { get; set; }
        /// <summary>
        /// 当前页数(默认第1页)
        /// </summary>
        public int pageNum { get; set; }
        /// <summary>
        /// 每页条数(默认20条,最大20条)
        /// </summary>
        public int pageSize { get; set; }
    }
    /// <summary>
    /// 变更记录
    /// </summary>
    public class TycIcChangeinfoReturnTotal : TycBaseResult<TycIcChangeinfoReturn> { }
    public class TycIcChangeinfoReturn
    {
        /// <summary>
        /// 总条数
        /// </summary>
        public int total { get; set; }
        /// <summary>
        /// 数据列表
        /// </summary>
        public List<TycIcChangeinfoReturnItem> items { get; set; }
    }
    [SugarTable("TycIcChangeinfo")]
    public class TycIcChangeinfoReturnItem : QccPageBaseEntity
    {
        /// <summary>
        /// 变更事项
        /// </summary>
        public string changeItem { get; set; }
        ///// <summary>
        ///// 创建时间
        ///// </summary>
        //public string createTime { get; set; }
        /// <summary>
        /// 变更前
        /// </summary>
        public string contentBefore { get; set; }
        /// <summary>
        /// 变更后
        /// </summary>
        public string contentAfter { get; set; }
        /// <summary>
        /// 变更时间
        /// </summary>
        public string changeTime { get; set; }
    }
}
RiskControl.NewService/QiChaCha/TycEntity/TycJrBankruptcy.cs
@@ -34,6 +34,8 @@
        /// 总条数
        /// </summary>
        public int total { get; set; }
        public string gid { get; set; }
        /// <summary>
        /// 数据列表
        /// </summary>
@@ -54,6 +56,7 @@
        /// 唯一标示 
        /// </summary> 
        public string uuid { get; set; }
        public string gid { get; set; }
        /// <summary> 
        /// 案号 
        /// </summary> 
RiskControl.NewService/QiChaCha/TycEntity/TycJrJudicialCase.cs
New file
@@ -0,0 +1,79 @@
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
using RiskControl.NewService.Entity.QccDbEntity;
using SqlSugar;
namespace RiskControl.NewService.QiChaCha.TycEntity
{
    // <summary>
    /// 司法解析
    /// </summary>
    public class TycJrJudicialCaseQuery
    {
        /// <summary>
        /// 每页条数(默认20条,最大20条)
        /// </summary>
        public int pageSize { get; set; }
        /// <summary>
        /// 搜索关键字(公司名称、公司id、注册号或社会统一信用代码)
        /// </summary>
        public string keyword { get; set; }
        /// <summary>
        /// 当前页数(默认第1页)
        /// </summary>
        public int pageNum { get; set; }
    }
    /// <summary>
    /// 司法解析
    /// </summary>
    public class TycJrJudicialCaseReturnTotal : TycBaseResult<TycJrJudicialCaseReturn> { }
    public class TycJrJudicialCaseReturn
    {
        /// <summary>
        /// 总条数
        /// </summary>
        public int total { get; set; }
        /// <summary>
        /// 数据列表
        /// </summary>
        public List<TycJrJudicialCaseReturnItem> items { get; set; }
    }
    [SugarTable("TycJrJudicialCase")]
    public class TycJrJudicialCaseReturnItem : QccPageBaseEntity
    {
        /// <summary>
        /// 案号
        /// </summary>
        public string caseCode { get; set; }
        /// <summary>
        /// 当前审理程序日期
        /// </summary>
        public string trialTime { get; set; }
        /// <summary>
        /// 案件身份
        /// </summary>
        [SugarColumn(IsJson = true)]
        public List<string> caseIdentity { get; set; }
        /// <summary>
        /// 案件名称
        /// </summary>
        public string caseTitle { get; set; }
        /// <summary>
        /// uuid
        /// </summary>
        public string uuid { get; set; }
        /// <summary>
        /// 当前审理程序
        /// </summary>
        public string trialProcedure { get; set; }
        /// <summary>
        /// 案由
        /// </summary>
        public string caseReason { get; set; }
        /// <summary>
        /// 案件类型
        /// </summary>
        public string caseType { get; set; }
    }
}
RiskControl.NewService/RiskControl.NewService.csproj
@@ -503,8 +503,10 @@
    <Compile Include="QiChaCha\TycEntity\TycHiJudicial.cs" />
    <Compile Include="QiChaCha\TycEntity\TycHiJudicialDetail.cs" />
    <Compile Include="QiChaCha\TycEntity\TycHiLawSuit.cs" />
    <Compile Include="QiChaCha\TycEntity\TycIcChangeinfo.cs" />
    <Compile Include="QiChaCha\TycEntity\TycJrBankruptcy.cs" />
    <Compile Include="QiChaCha\TycEntity\TycJrDishonest.cs" />
    <Compile Include="QiChaCha\TycEntity\TycJrJudicialCase.cs" />
    <Compile Include="QiChaCha\TycEntity\TycJrLawSuit.cs" />
    <Compile Include="QiChaCha\TycEntity\TycJrLawSuitDetail.cs" />
    <Compile Include="QiChaCha\TycEntity\TycJrZhixinginfo.cs" />
RiskControl.NewService/Service/TianYanChaService.cs
@@ -2524,6 +2524,7 @@
                    item.CompanyName = name;
                    item.ItemIndex = (pageIndex - 1) * pageSize + i + 1;
                    item.TotalItems = qccResult.Result.total;
                    item.gid = qccResult.Result.gid;
                    addList.Add(item);
                }
                if (_expiredDays > 0) await RiskControlRRDb.Insertable(addList).ExecuteCommandAsync();
@@ -2701,6 +2702,134 @@
                return result;
            }
        }
        public async Task<QccMsgData> GetJrJudicialCase(string name, int pageIndex = 1, int pageSize = 10)
        {
            var result = new QccMsgData();
            var resultPage = new Page<TycJrJudicialCaseReturnItem>();
            if (_expiredDays > 0)
            {
                // 1.数据库是存在
                var createTime = await RiskControlRRDb.Queryable<TycJrJudicialCaseReturnItem>().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<TycJrJudicialCaseReturnItem>().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<TycJrJudicialCaseReturnItem>().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<TycJrJudicialCaseReturnItem>().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<TycJrJudicialCaseReturnItem>().Where(a => a.CompanyName == name).ExecuteCommandAsync();
            }
            var qccResult = _api.GetJrJudicialCase(new TycJrJudicialCaseQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
            if (qccResult.Error_code == "0")
            {
                var addList = new List<TycJrJudicialCaseReturnItem>();
                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> GetIcChangeinfo(string name, int pageIndex = 1, int pageSize = 10)
        {
            var result = new QccMsgData();
            var resultPage = new Page<TycIcChangeinfoReturnItem>();
            if (_expiredDays > 0)
            {
                // 1.数据库是存在
                var createTime = await RiskControlRRDb.Queryable<TycIcChangeinfoReturnItem>().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<TycIcChangeinfoReturnItem>().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<TycIcChangeinfoReturnItem>().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<TycIcChangeinfoReturnItem>().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<TycIcChangeinfoReturnItem>().Where(a => a.CompanyName == name).ExecuteCommandAsync();
            }
            var qccResult = _api.GetIcChangeinfo(new TycIcChangeinfoQuery() { keyword = name, pageNum = pageIndex, pageSize = pageSize });
            if (qccResult.Error_code == "0")
            {
                var addList = new List<TycIcChangeinfoReturnItem>();
                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;
            }
        }
    }
}