You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
192 lines
6.5 KiB
192 lines
6.5 KiB
3 years ago
|
using learun.iapplication;
|
||
|
using Microsoft.AspNetCore.Authorization;
|
||
|
using Microsoft.AspNetCore.Mvc;
|
||
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Threading.Tasks;
|
||
|
|
||
|
namespace learun.webapi.Controllers
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// 版 本 Learun-ADMS-Core 力软管理后台
|
||
|
/// Copyright (c) 2019-present 力软信息技术(苏州)有限公司
|
||
|
/// 创建人:tobin
|
||
|
/// 日 期:2020.04.22
|
||
|
/// 描 述:桌面配置接口
|
||
|
/// </summary>
|
||
|
public class DesktopController : MvcControllerBase
|
||
|
{
|
||
|
private readonly DTTargetIBLL _dTTargetIBLL;
|
||
|
private readonly DTListIBLL _dTListIBLL;
|
||
|
private readonly DTChartIBLL _dTChartIBLL;
|
||
|
private readonly DataSourceIBLL _dataSourceIBLL;
|
||
|
private readonly DTImgIBLL _dTImgIBLL;
|
||
|
private readonly ImgIBLL _imgIBLL;
|
||
|
/// <summary>
|
||
|
/// 初始化
|
||
|
/// </summary>
|
||
|
/// <param name="dTTargetIBLL">统计数据接口</param>
|
||
|
/// <param name="dTListIBLL">列表接口</param>
|
||
|
/// <param name="dTChartIBLL">图标接口</param>
|
||
|
/// <param name="dataSourceIBLL">数据库连接接口</param>
|
||
|
/// <param name="dTImgIBLL">桌面图片接口</param>
|
||
|
/// <param name="imgIBLL">图片接口</param>
|
||
|
public DesktopController(DTTargetIBLL dTTargetIBLL, DTListIBLL dTListIBLL, DTChartIBLL dTChartIBLL, DataSourceIBLL dataSourceIBLL, DTImgIBLL dTImgIBLL, ImgIBLL imgIBLL)
|
||
|
{
|
||
|
_dTTargetIBLL = dTTargetIBLL;
|
||
|
_dTListIBLL = dTListIBLL;
|
||
|
_dTChartIBLL = dTChartIBLL;
|
||
|
_dataSourceIBLL = dataSourceIBLL;
|
||
|
_dTImgIBLL = dTImgIBLL;
|
||
|
_imgIBLL = imgIBLL;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 获取桌面配置信息
|
||
|
/// </summary>
|
||
|
/// <returns></returns>
|
||
|
[HttpGet]
|
||
|
public async Task<IActionResult> Setting()
|
||
|
{
|
||
|
var target = await _dTTargetIBLL.GetList();
|
||
|
var list = await _dTListIBLL.GetList();
|
||
|
var chart = await _dTChartIBLL.GetList();
|
||
|
|
||
|
var data = new
|
||
|
{
|
||
|
target,
|
||
|
list,
|
||
|
chart
|
||
|
};
|
||
|
return Success(data);
|
||
|
}
|
||
|
|
||
|
|
||
|
/// <summary>
|
||
|
/// 获取数据
|
||
|
/// </summary>
|
||
|
/// <param name="type">类型 target,chart,list </param>
|
||
|
/// <param name="id">主键ID</param>
|
||
|
/// <returns></returns>
|
||
|
[HttpGet]
|
||
|
public async Task<IActionResult> Data(string type, string id)
|
||
|
{
|
||
|
switch (type)
|
||
|
{
|
||
|
case "target":
|
||
|
var data = await _dTTargetIBLL.GetEntity(id);
|
||
|
if (data != null && !string.IsNullOrEmpty(data.F_Sql))
|
||
|
{
|
||
|
var dt = await _dataSourceIBLL.GetDataTableBySql(data.F_DataSourceId, data.F_Sql);
|
||
|
var jsonData2 = new
|
||
|
{
|
||
|
id,
|
||
|
value = dt.Rows[0][0]
|
||
|
};
|
||
|
return Success(dt);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
var jsonData = new
|
||
|
{
|
||
|
id,
|
||
|
value = ""
|
||
|
};
|
||
|
return Success(jsonData);
|
||
|
}
|
||
|
case "chart":
|
||
|
var chartData = await _dTChartIBLL.GetEntity(id);
|
||
|
if (chartData != null && !string.IsNullOrEmpty(chartData.F_Sql))
|
||
|
{
|
||
|
var dt = await _dataSourceIBLL.GetDataTableBySql(chartData.F_DataSourceId, chartData.F_Sql);
|
||
|
var jsonData2 = new
|
||
|
{
|
||
|
id,
|
||
|
value = dt
|
||
|
};
|
||
|
return Success(jsonData2);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
var jsonData = new
|
||
|
{
|
||
|
id
|
||
|
};
|
||
|
return Success(jsonData);
|
||
|
}
|
||
|
case "list":
|
||
|
var listdata = await _dTListIBLL.GetEntity(id);
|
||
|
if (listdata != null && !string.IsNullOrEmpty(listdata.F_Sql))
|
||
|
{
|
||
|
var dt = await _dataSourceIBLL.GetDataTableBySql(listdata.F_DataSourceId, listdata.F_Sql);
|
||
|
var jsonData2 = new
|
||
|
{
|
||
|
id,
|
||
|
value = dt
|
||
|
};
|
||
|
return Success(jsonData2);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
var jsonData = new
|
||
|
{
|
||
|
id
|
||
|
};
|
||
|
return Success(jsonData);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return Success(new
|
||
|
{
|
||
|
Id = id
|
||
|
});
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 获取桌首页图片
|
||
|
/// </summary>
|
||
|
/// <returns></returns>
|
||
|
[HttpGet]
|
||
|
public async Task<IActionResult> Imgid()
|
||
|
{
|
||
|
|
||
|
var list = await _dTImgIBLL.GetList();
|
||
|
List<string> res = new List<string>();
|
||
|
foreach (var item in list)
|
||
|
{
|
||
|
res.Add(item.F_Id);
|
||
|
}
|
||
|
return Success(res);
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 获取图片
|
||
|
/// </summary>
|
||
|
/// <param name="id">主键</param>
|
||
|
/// <returns></returns>
|
||
|
[HttpGet]
|
||
|
[AllowAnonymous]
|
||
|
public async Task<IActionResult> Img(string id)
|
||
|
{
|
||
|
var stampEntity = await _dTImgIBLL.GetEntity(id);
|
||
|
if (stampEntity != null && !string.IsNullOrEmpty(stampEntity.F_FileName))
|
||
|
{
|
||
|
ImgEntity imgEntity = await _imgIBLL.GetEntity(stampEntity.F_FileName);
|
||
|
if (imgEntity != null && !string.IsNullOrEmpty(imgEntity.F_Content))
|
||
|
{
|
||
|
string imgContent = imgEntity.F_Content.Replace("data:image/" + imgEntity.F_ExName.Replace(".", "") + ";base64,", "");
|
||
|
byte[] arr = Convert.FromBase64String(imgContent);
|
||
|
return File(arr, "application/octet-stream");
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return NotFound();
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return NotFound();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|