using System;
|
using System.Collections.Generic;
|
using System.Threading.Tasks;
|
using System.Web.Mvc;
|
using CommonHelper;
|
using GasolineBlend.BLL;
|
using GasolineBlend.Entity;
|
using RiskControl.NewService.Entity.RRAutoBIDB;
|
using RiskControl.NewService.Service;
|
using RiskControl.NewService.ViewModel;
|
using SqlSugar;
|
|
namespace GasolineBlend.Controllers
|
{
|
public class EventKgController : BaseController
|
{
|
private EventKgService _eventKgService =new EventKgService();
|
private AlarmService _alarmService =new AlarmService();
|
|
/// <summary>
|
/// 获取投资事件
|
/// </summary>
|
/// <param name="param"></param>
|
/// <returns></returns>
|
public async Task<ActionResult> GetInvestPage(ParamInvestSearch param)
|
{
|
//记录搜索行为20220913FX
|
if (!string.IsNullOrWhiteSpace(param.Financier) || !string.IsNullOrWhiteSpace(param.Investor))
|
{
|
var userid = OperatorProvider.Instance.Current == null
|
? -1
|
: OperatorProvider.Instance.Current.UserId;
|
QccSearchInfoBLL qccSearchInfoBll = new QccSearchInfoBLL();
|
string CompanyName = !string.IsNullOrWhiteSpace(param.Financier) ? param.Financier : param.Investor;
|
int TypeNo = !string.IsNullOrWhiteSpace(param.Financier)
|
? (int)SearchType.InvestKGInputRZ
|
: (int)SearchType.InvestKGInputTZ;
|
qccSearchInfoBll.AddQccSearchInfo(userid, CompanyName, true,
|
"投资事件图谱搜索记录",TypeNo);//7,8代表投资图谱搜素
|
}
|
var page = await _eventKgService.GetInvestPage(param);
|
return SuccessNoShow(data:page);
|
}
|
|
/// <summary>
|
/// 获取并购事件
|
/// </summary>
|
/// <param name="param"></param>
|
/// <returns></returns>
|
public async Task<ActionResult> GetAcquirePage(ParamAcquireSearch param)
|
{
|
//记录搜索行为20220913FX
|
if (!string.IsNullOrWhiteSpace(param.Acquirer) || !string.IsNullOrWhiteSpace(param.Acquiree))
|
{
|
var userid = OperatorProvider.Instance.Current == null
|
? -1
|
: OperatorProvider.Instance.Current.UserId;
|
QccSearchInfoBLL qccSearchInfoBll = new QccSearchInfoBLL();
|
string CompanyName = !string.IsNullOrWhiteSpace(param.Acquirer) ? param.Acquirer : param.Acquiree;
|
int TypeNo = !string.IsNullOrWhiteSpace(param.Acquirer)
|
? (int) SearchType.AquireKGInputBG
|
: (int) SearchType.AquireKGInputBBG;
|
qccSearchInfoBll.AddQccSearchInfo(userid, CompanyName, true,
|
"并购事件图谱搜索记录", TypeNo);//5,6代表并购图谱搜素
|
}
|
var page = await _eventKgService.GetAcquirePage(param);
|
return SuccessNoShow(data: page);
|
}
|
|
/// <summary>
|
/// 获取事件预警数
|
/// </summary>
|
/// <param name="startTime"></param>
|
/// <param name="endTime"></param>
|
/// <param name="groupId"></param>
|
/// <param name="type"></param>
|
/// <returns></returns>
|
public ActionResult GetRiskMonitorEventTypeCountResult(DateTime? startTime, DateTime? endTime, int groupId,string type)
|
{
|
var res= _alarmService.GetRiskMonitorEventTypeCountResult(startTime, endTime, groupId,type);
|
return SuccessNoShow(data: res);
|
}
|
|
/// <summary>
|
/// 获取风险、新闻、公告检测的预警数
|
/// </summary>
|
/// <param name="startTime"></param>
|
/// <param name="endTime"></param>
|
/// <param name="companyNames"></param>
|
/// <returns></returns>
|
public ActionResult GetRiskMonitorWarnCountResult(DateTime? startTime, DateTime? endTime, int groupId)
|
{
|
var res = _alarmService.GetRiskMonitorWarnCountResult(startTime, endTime, groupId);
|
return SuccessNoShow(data: res);
|
}
|
|
/// <summary>
|
/// 获取风险、新闻、公告检测的预警数(首页自选)
|
/// </summary>
|
/// <param name="startTime"></param>
|
/// <param name="endTime"></param>
|
/// <param name="groupId1"></param>
|
/// <param name="groupId2"></param>
|
/// <returns></returns>
|
public ActionResult GetRiskMonitorWarnCountResult2(DateTime? startTime, DateTime? endTime, int groupId1, int groupId2)
|
{
|
var res1 = _alarmService.GetRiskMonitorWarnCountResult(startTime, endTime, groupId1);
|
var res2 = _alarmService.GetRiskMonitorWarnCountResult(startTime, endTime, groupId2);
|
List<RiskMonitorWarnCountResult> listRiskMonitorWarnCountResults = new List<RiskMonitorWarnCountResult>();
|
listRiskMonitorWarnCountResults.Add(res1);
|
listRiskMonitorWarnCountResults.Add(res2);
|
return SuccessNoShow(data: listRiskMonitorWarnCountResults);
|
}
|
|
/// <summary>
|
/// 根据风险、新闻、公告检测获取预警详情
|
/// </summary>
|
/// <param name="startTime">开始时间</param>
|
/// <param name="endTime">结束时间</param>
|
/// <param name="companyNames">公司名称</param>
|
/// <param name="type">类型(风险/新闻/公告)</param>
|
/// <param name="level">预警等级(0/1/2/3)</param>
|
/// <returns></returns>
|
public ActionResult GetDynamicByWarnLevel(DateTime? startTime, DateTime? endTime, int groupId, string type,
|
int? level = null)
|
{
|
var res = _alarmService.GetDynamicByWarnLevel(startTime, endTime, groupId, type, level);
|
return SuccessNoShow(data: res);
|
}
|
|
/// <summary>
|
/// 根据事件类别获取预警详情
|
/// </summary>
|
/// <param name="startTime">开始时间</param>
|
/// <param name="endTime">结束时间</param>
|
/// <param name="companyNames">公司名称</param>
|
/// <param name="eventType1">一级事件名称(“全部”传"")</param>
|
/// <param name="eventType2">二级事件名称(“全部”传"")</param>
|
/// <param name="warnLevel">预警等级(0/1/2/3)</param>
|
/// <returns></returns>
|
public ActionResult GetDynamicByEventType(DateTime? startTime, DateTime? endTime, int groupId, string eventType1, string eventType2,int pageIndex=1,int pageSize=10,int? warnLevel=null)
|
{
|
var res = _alarmService.GetDynamicByEventType(startTime, endTime, groupId, eventType1, eventType2, pageIndex, pageSize, warnLevel);
|
return SuccessNoShow(data: res);
|
}
|
|
/// <summary>
|
/// 获取投资事件的数量-投资方
|
/// </summary>
|
/// <param name="title"></param>
|
/// <param name="investorKeyword"></param>
|
/// <returns></returns>
|
private async Task<SmartInvestCount> GetInvestPageDetail(string title, string investorKeyword)
|
{
|
var where = Expressionable.Create<EventKgInvest>()
|
.AndIF(!string.IsNullOrWhiteSpace(investorKeyword), a => a.Investor.ToString().Contains(investorKeyword))
|
.ToExpression();
|
EventKgBaseService<EventKgInvest> _eventKgBaseService = new EventKgBaseService<EventKgInvest>();
|
var resCount = await _eventKgBaseService.CountAsync(where);
|
SmartInvestCount smartInvestCount = new SmartInvestCount();
|
smartInvestCount.Count = resCount;
|
smartInvestCount.SubTitle = "投资方";
|
smartInvestCount.Title = title;
|
return smartInvestCount;
|
}
|
/// <summary>
|
/// 获取投资事件的数量-融资方
|
/// </summary>
|
/// <param name="title"></param>
|
/// <param name="financierKeyword"></param>
|
/// <returns></returns>
|
private async Task<SmartInvestCount> GetFinancierPageDetail(string title, string financierKeyword)
|
{
|
var where = Expressionable.Create<EventKgInvest>()
|
.AndIF(!string.IsNullOrWhiteSpace(financierKeyword), a => a.Financier.ToString().Contains(financierKeyword))
|
.ToExpression();
|
EventKgBaseService<EventKgInvest> _eventKgBaseService = new EventKgBaseService<EventKgInvest>();
|
var resCount = await _eventKgBaseService.CountAsync(where);
|
SmartInvestCount smartInvestCount = new SmartInvestCount();
|
smartInvestCount.Count = resCount;
|
smartInvestCount.SubTitle = "融资方";
|
smartInvestCount.Title = title;
|
return smartInvestCount;
|
}
|
/// <summary>
|
/// 获取并购事件的数量-并购方
|
/// </summary>
|
/// <param name="title"></param>
|
/// <param name="acquirerKeyword"></param>
|
/// <returns></returns>
|
private async Task<SmartInvestCount> GetAcquirerPageDetail(string title, string acquirerKeyword)
|
{
|
var where = Expressionable.Create<EventKgAcquire>()
|
.AndIF(!string.IsNullOrWhiteSpace(acquirerKeyword), a => a.Acquirer.Contains(acquirerKeyword))
|
.ToExpression();
|
EventKgBaseService<EventKgAcquire> _eventKgBaseService = new EventKgBaseService<EventKgAcquire>();
|
var resCount = await _eventKgBaseService.CountAsync(where);
|
SmartInvestCount smartInvestCount = new SmartInvestCount();
|
smartInvestCount.Count = resCount;
|
smartInvestCount.SubTitle = "并购方";
|
smartInvestCount.Title = title;
|
return smartInvestCount;
|
}
|
|
/// <summary>
|
/// 获取并购事件的数量-被并购方
|
/// </summary>
|
/// <param name="title"></param>
|
/// <param name="acquireeKeyword"></param>
|
/// <returns></returns>
|
private async Task<SmartInvestCount> GetAcquireePageDetail(string title, string acquireeKeyword)
|
{
|
var where = Expressionable.Create<EventKgAcquire>()
|
.AndIF(!string.IsNullOrWhiteSpace(acquireeKeyword), a => a.Acquiree.Contains(acquireeKeyword))
|
.ToExpression();
|
EventKgBaseService<EventKgAcquire> _eventKgBaseService = new EventKgBaseService<EventKgAcquire>();
|
var resCount = await _eventKgBaseService.CountAsync(where);
|
SmartInvestCount smartInvestCount = new SmartInvestCount();
|
smartInvestCount.Count = resCount;
|
smartInvestCount.SubTitle = "被并购方";
|
smartInvestCount.Title = title;
|
return smartInvestCount;
|
}
|
|
/// <summary>
|
/// 获取投资和并购的数量
|
/// </summary>
|
/// <param name="Keyword"></param>
|
/// <returns></returns>
|
public async Task<ActionResult> GetEventKgPageCount(string eventKeyword)
|
{
|
List<SmartInvestCount> resTotal = new List<SmartInvestCount>();
|
|
//并购事件图谱-并购方
|
var resAcquirerCount = await GetAcquirerPageDetail("并购事件图谱", eventKeyword);
|
resTotal.Add(resAcquirerCount);
|
//并购事件图谱-被并购方
|
var resAcquireeCount = await GetAcquireePageDetail("并购事件图谱", eventKeyword);
|
resTotal.Add(resAcquireeCount);
|
//投资事件图谱-投资方
|
var resInvestCount = await GetInvestPageDetail("投资事件图谱", eventKeyword);
|
resTotal.Add(resInvestCount);
|
//投资事件图谱-融资方
|
var restFinancierCount = await GetFinancierPageDetail("投资事件图谱", eventKeyword);
|
resTotal.Add(restFinancierCount);
|
|
return SuccessNoShow(data: resTotal);
|
}
|
}
|
}
|