2023-08-04
This commit is contained in:
@@ -0,0 +1,323 @@
|
||||
using FineUIPro;
|
||||
using Model;
|
||||
using Newtonsoft.Json;
|
||||
using Quartz;
|
||||
using RestSharp;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
|
||||
namespace BLL
|
||||
{
|
||||
|
||||
public static class InterFaceTaskService
|
||||
{
|
||||
public static Model.SGGLDB db = Funs.DB;
|
||||
|
||||
|
||||
#region 获取列表
|
||||
/// <summary>
|
||||
/// 记录数
|
||||
/// </summary>
|
||||
public static int count
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public static List<Model.InterFaceTask> GetInterFaceTaskByModle(Model.InterFaceTask table)
|
||||
{
|
||||
var q= from x in db.InterFaceTask
|
||||
where
|
||||
( string.IsNullOrEmpty(table.InterFaceTaskId)||x.InterFaceTaskId.Contains(table.InterFaceTaskId)) &&
|
||||
( string.IsNullOrEmpty(table.InterFaceName)||x.InterFaceName.Contains(table.InterFaceName)) &&
|
||||
( string.IsNullOrEmpty(table.InterFaceSetLists)||x.InterFaceSetLists.Contains(table.InterFaceSetLists)) &&
|
||||
( string.IsNullOrEmpty(table.Frequency)||x.Frequency.Contains(table.Frequency)) &&
|
||||
(table.Enable ==null|| x.Enable==table.Enable)
|
||||
select x
|
||||
;
|
||||
|
||||
return q.ToList();
|
||||
}
|
||||
|
||||
/// 获取分页列表
|
||||
/// </summary>
|
||||
/// <param name="PageIndex">页码</param>
|
||||
/// <param name="PageSize">每页数量</param>
|
||||
/// <returns></returns>
|
||||
public static IEnumerable getListData(Model.InterFaceTask table, Grid Grid1)
|
||||
{
|
||||
var q= GetInterFaceTaskByModle(table);
|
||||
count = q.Count();
|
||||
if (count == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
// q= q.Take(Grid1.PageSize * Grid1.PageIndex).Skip(Grid1.PageSize * (Grid1.PageIndex)).ToList();
|
||||
// q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
|
||||
return from x in q
|
||||
select new
|
||||
{
|
||||
x.InterFaceTaskId,
|
||||
x.InterFaceName,
|
||||
x.InterFaceSetLists,
|
||||
x.Frequency,
|
||||
x.CreateTime,
|
||||
x.Enable,
|
||||
|
||||
};
|
||||
}
|
||||
#endregion
|
||||
|
||||
public static Model.InterFaceTask GetInterFaceTaskById(string InterFaceTaskId)
|
||||
{
|
||||
return db.InterFaceTask.FirstOrDefault(x=>x.InterFaceTaskId==InterFaceTaskId);
|
||||
}
|
||||
public static void AddInterFaceTask(Model.InterFaceTask newtable)
|
||||
{
|
||||
|
||||
Model.InterFaceTask table = new Model.InterFaceTask{
|
||||
InterFaceTaskId=newtable.InterFaceTaskId,
|
||||
InterFaceName=newtable.InterFaceName,
|
||||
InterFaceSetLists=newtable.InterFaceSetLists,
|
||||
Frequency=newtable.Frequency,
|
||||
CreateTime=newtable.CreateTime,
|
||||
Enable=newtable.Enable,
|
||||
};
|
||||
db.InterFaceTask.InsertOnSubmit(table);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
|
||||
|
||||
public static void UpdateInterFaceTask(Model.InterFaceTask newtable)
|
||||
{
|
||||
|
||||
Model.InterFaceTask table = db.InterFaceTask.FirstOrDefault(x=>x.InterFaceTaskId==newtable.InterFaceTaskId);
|
||||
if (table != null)
|
||||
{
|
||||
table.InterFaceTaskId=newtable.InterFaceTaskId;
|
||||
table.InterFaceName=newtable.InterFaceName;
|
||||
table.InterFaceSetLists=newtable.InterFaceSetLists;
|
||||
table.Frequency=newtable.Frequency;
|
||||
table.CreateTime=newtable.CreateTime;
|
||||
table.Enable=newtable.Enable;
|
||||
db.SubmitChanges();
|
||||
}
|
||||
|
||||
}
|
||||
public static void DeleteInterFaceTaskById (string InterFaceTaskId)
|
||||
{
|
||||
|
||||
Model.InterFaceTask table =db.InterFaceTask.FirstOrDefault(x=>x.InterFaceTaskId==InterFaceTaskId);
|
||||
if (table != null)
|
||||
{
|
||||
db.InterFaceTask.DeleteOnSubmit(table);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
|
||||
}
|
||||
#region 执行任务
|
||||
public static void ExecuteTasks(string InterFaceTaskId)
|
||||
{
|
||||
|
||||
var model = GetInterFaceTaskById(InterFaceTaskId);
|
||||
var InterFaceSetlIds = model.InterFaceSetLists.Split(',');
|
||||
foreach (var item in InterFaceSetlIds)
|
||||
{
|
||||
ExecuteTasksByInterFaceSetlId(item);
|
||||
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 执行接口
|
||||
/// </summary>
|
||||
/// <param name="InterFaceSetlId">接口id </param>
|
||||
public static void ExecuteTasksByInterFaceSetlId(string InterFaceSetlId)
|
||||
{
|
||||
var InterfaceSetModel = InterFaceSetService.GetInterFaceSetById(InterFaceSetlId);
|
||||
if (InterfaceSetModel == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
try
|
||||
{
|
||||
|
||||
var sourseData = GetSourseData(InterfaceSetModel.InterFaceUrl, InterfaceSetModel.UrlReqMethod);
|
||||
bool sourseisSuccess = false;
|
||||
if (sourseData.code == 1)
|
||||
{
|
||||
sourseisSuccess = true;
|
||||
}
|
||||
InterFaceLogService.WriteInterFaceLog(InterFaceSetlId, "", JsonConvert.SerializeObject(sourseData), InterFaceLogService.Type1, sourseisSuccess);
|
||||
if (sourseData.code == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
var TargetData = GetTargetData(InterfaceSetModel.InterFaceForUrl, sourseData, InterfaceSetModel.ForUrlReqMethod);
|
||||
|
||||
bool TargetisSuccess = false;
|
||||
if (TargetData.code == 1)
|
||||
{
|
||||
TargetisSuccess = true;
|
||||
}
|
||||
InterFaceLogService.WriteInterFaceLog(InterFaceSetlId, JsonConvert.SerializeObject(sourseData.data), JsonConvert.SerializeObject(TargetData), InterFaceLogService.Type2, TargetisSuccess);
|
||||
|
||||
if (TargetData.code == 0 || InterfaceSetModel.IsCallBack == false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
var callbackData = ExecuteCallBack(InterfaceSetModel.InterFaceCallBackUrl, sourseData, InterfaceSetModel.CallBackUrlReqMethod);
|
||||
|
||||
bool CallBackisSuccess = false;
|
||||
if (TargetData.code == 1)
|
||||
{
|
||||
CallBackisSuccess = true;
|
||||
}
|
||||
InterFaceLogService.WriteInterFaceLog(InterFaceSetlId, JsonConvert.SerializeObject(sourseData.data), JsonConvert.SerializeObject(callbackData), InterFaceLogService.Type3, CallBackisSuccess);
|
||||
|
||||
}
|
||||
catch (Exception ex )
|
||||
{
|
||||
Model.InterFaceLog interFaceLog=new InterFaceLog();
|
||||
interFaceLog.InterFaceLogId=Guid.NewGuid().ToString();
|
||||
interFaceLog.InterFaceType = "异常";
|
||||
interFaceLog.LogSate = false;
|
||||
interFaceLog.InterFaceLogDate= DateTime.Now;
|
||||
interFaceLog.InterFaceName = InterfaceSetModel.InterFaceName;
|
||||
interFaceLog.InterFaceReturnData = ex.ToString();
|
||||
InterFaceLogService.AddInterFaceLog(interFaceLog);
|
||||
}
|
||||
|
||||
}
|
||||
public static Model.ReturnData GetSourseData(string baseurl,string ReqMethod)
|
||||
{
|
||||
Model.ReturnData returnData = new ReturnData();
|
||||
string token = "C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0";
|
||||
string Content = "";
|
||||
switch (ReqMethod)
|
||||
{
|
||||
case "Get":
|
||||
Content = Funs.RequestGet(baseurl, token);
|
||||
break;
|
||||
case "Post":
|
||||
Content = Funs.RequestPost(baseurl, token, "");
|
||||
break;
|
||||
}
|
||||
//var client = new RestClient(baseurl);
|
||||
//client.Timeout = -1;
|
||||
//var request = new RestRequest(Method.POST);
|
||||
//request.AddHeader("token", "AF17168B-87BD-4GLY-1111-F0A0A1158F9B");
|
||||
//IRestResponse response = client.Execute(request);
|
||||
//Console.WriteLine(response.Content);
|
||||
try
|
||||
{
|
||||
returnData = JsonConvert.DeserializeObject<Model.ReturnData>(Content);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
returnData.code = 0;
|
||||
returnData.message = "获取数据失败:" + Content;
|
||||
}
|
||||
|
||||
|
||||
return returnData;
|
||||
}
|
||||
public static Model.ResponeData GetTargetData(string baseurl, ReturnData DataInput, string ReqMethod)
|
||||
{
|
||||
Model.ResponeData responeData = new ResponeData();
|
||||
if (DataInput.code == 1)
|
||||
{
|
||||
|
||||
string token = DataInput.token;
|
||||
string returnContent = "";
|
||||
switch (ReqMethod)
|
||||
{
|
||||
case "Get":
|
||||
returnContent = Funs.RequestGet(baseurl, token);
|
||||
break;
|
||||
case "Post":
|
||||
returnContent = Funs.RequestPost(baseurl, token, JsonConvert.SerializeObject(DataInput.data));
|
||||
break;
|
||||
}
|
||||
//var client = new RestClient(baseurl);
|
||||
//client.Timeout = -1;
|
||||
//if (isPost)
|
||||
//{
|
||||
// var request = new RestRequest(Method.POST);
|
||||
// request.AddHeader("token", DataInput.token);
|
||||
// request.AddJsonBody(JsonConvert.SerializeObject(DataInput.data));
|
||||
// IRestResponse response = client.Execute(request);
|
||||
// returnContent = response.Content;
|
||||
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// var request = new RestRequest(Method.GET);
|
||||
// request.AddHeader("token", DataInput.token);
|
||||
// IRestResponse response = client.Execute(request);
|
||||
// returnContent = response.Content;
|
||||
|
||||
//}
|
||||
try
|
||||
{
|
||||
responeData = JsonConvert.DeserializeObject<Model.ResponeData>(returnContent);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = "推送数据失败:" + returnContent;
|
||||
|
||||
}
|
||||
return responeData;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
return responeData;
|
||||
}
|
||||
public static ReturnData ExecuteCallBack(string baseurl, ReturnData DataInput,string ReqMethod)
|
||||
{
|
||||
Model.ReturnData returnData = new ReturnData();
|
||||
if (DataInput.code == 1)
|
||||
{
|
||||
string token = "AF17168B-87BD-4GLY-1111-F0A0A1158F9B";
|
||||
string Content = "";
|
||||
switch (ReqMethod)
|
||||
{
|
||||
case "Get":
|
||||
Content = Funs.RequestGet(baseurl, token);
|
||||
break;
|
||||
case "Post":
|
||||
Content = Funs.RequestPost(baseurl, token, JsonConvert.SerializeObject(DataInput.data));
|
||||
break;
|
||||
}
|
||||
|
||||
//var client = new RestClient(baseurl);
|
||||
//client.Timeout = -1;
|
||||
//var request = new RestRequest(Method.POST);
|
||||
//request.AddHeader("token", "AF17168B-87BD-4GLY-1111-F0A0A1158F9B");
|
||||
//request.AddJsonBody(JsonConvert.SerializeObject(DataInput.data));
|
||||
//IRestResponse response = client.Execute(request);
|
||||
//returnContent = response.Content;
|
||||
try
|
||||
{
|
||||
returnData = JsonConvert.DeserializeObject<Model.ReturnData>(Content);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
returnData.code = 0;
|
||||
returnData.message = "回调失败:" + Content;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
return returnData;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user