项目管理

main
zhangbin 4 months ago
parent 7f6526ca8a
commit 603fe76e99

@ -186,7 +186,68 @@ namespace OpenAuth.App.ServiceApp
return new Response<bool> { Result = false, Message = "删除失败" };
}
}
#endregion
//生成航线文件
#endregion
#region 项目管理
/// <summary>
/// 获取项目列表
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public async Task<Response<List<LasaWorkspace>>> GetWorkspaceList(string key)
{
RefAsync<int> totalCount = 0;
using (var db = UnitWork.CreateContext())
{
var list = await db.LasaWorkspace.AsQueryable()
.WhereIF(!string.IsNullOrEmpty(key), a => a.WorkspaceName.Contains(key))
.ToListAsync();
return new Response<List<LasaWorkspace>>
{
Result = list
};
}
}
//添加项目
public async Task<Response<bool>> AddWorkspace(LasaWorkspace lasaWorkspace)
{
using (var db = UnitWork.CreateContext())
{
lasaWorkspace.Id = Guid.NewGuid().ToString();
lasaWorkspace.CreateId = _auth.GetCurrentUser().User.Id;
lasaWorkspace.CreateTime = DateTime.Now;
var flag = await db.LasaWorkspace.InsertAsync(lasaWorkspace);
if (db.Commit())
return new Response<bool> { Result = true, Message = "添加成功" };
else
return new Response<bool> { Result = false, Message = "添加失败" };
}
}
//编辑项目
public async Task<Response<bool>> EditWorkspace(LasaWorkspace lasaWorkspace)
{
using (var db = UnitWork.CreateContext())
{
var flag = await db.LasaWorkspace.UpdateAsync(lasaWorkspace);
if (db.Commit())
return new Response<bool> { Result = true, Message = "编辑成功" };
else
return new Response<bool> { Result = false, Message = "编辑失败" };
}
}
//删除项目
public async Task<Response<bool>> DeleteWorkspace(string id)
{
using (var db = UnitWork.CreateContext())
{
var flag = await db.LasaWorkspace.DeleteAsync(it => it.Id == id);
if (db.Commit())
return new Response<bool> { Result = true, Message = "删除成功" };
else
return new Response<bool> { Result = false, Message = "删除失败" };
}
}
#endregion
}
}

@ -0,0 +1,30 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OpenAuth.Repository.Domain
{
/// <summary>
/// 项目
/// </summary>
[SugarTable("lasa_workspace")]
public class LasaWorkspace
{
public string Id { get; set; }
public string WorkspaceName { get; set; }
public string WorkspaceDesc { get; set; }
public string PlatformName { get; set; }
public DateTime? CreateTime { get; set; }
public long? CreateId { get; set; }
public string BindCode { get; set; }
}
}

@ -64,6 +64,7 @@ namespace OpenAuth.Repository
public SugarRepositiry<LasaDronePort> LasaDronePort { get; set; }
public SugarRepositiry<LasaTask> LasaTask { get; set; }
public SugarRepositiry<LasaAirLine> LasaAirLine { get; set; }
public SugarRepositiry<LasaWorkspace> LasaWorkspace { get; set; }
#endregion
}
}

@ -1,5 +1,6 @@
using Infrastructure;
using Infrastructure.Extensions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.ServiceApp;
using OpenAuth.Repository.Domain;
@ -159,7 +160,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> EdiAirLine(LasaAirLine info)
public async Task<Response<bool>> EditAirLine(LasaAirLine info)
{
return await _app.EditAirLine(info);
}
@ -172,6 +173,101 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
{
return await _app.DeleteAirLine(id);
}
/// <summary>
/// 上传航线文件
/// </summary>
/// <param name="xmlFile"></param>
/// <returns></returns>
[HttpPost("upload")]
public async Task<IActionResult> UploadXmlFile(IFormFile xmlFile)
{
if (xmlFile == null || xmlFile.Length == 0)
return BadRequest("文件为空");
var uploadsFolder = Path.Combine(Directory.GetCurrentDirectory(), "Waylines");
if (!Directory.Exists(uploadsFolder))
Directory.CreateDirectory(uploadsFolder);
var filePath = Path.Combine(uploadsFolder, "waylines.wpml");
using (var stream = new FileStream(filePath, FileMode.Create))
{
await xmlFile.CopyToAsync(stream);
}
return Ok(new { message = "上传成功", path = filePath });
}
[HttpPost("uploadwpmlfile")]
[AllowAnonymous]
public async Task<IActionResult> UploadWpmlFile(IFormFile xmlFile, string id)
{
if (xmlFile == null || xmlFile.Length == 0)
return BadRequest("文件为空");
string baseFolder = "Waylines/" + (string.IsNullOrEmpty(id) ? Guid.NewGuid().ToString() : id);
var uploadsFolder = Path.Combine(Directory.GetCurrentDirectory(), baseFolder);
if (!Directory.Exists(uploadsFolder))
Directory.CreateDirectory(uploadsFolder);
var filePath = Path.Combine(uploadsFolder, "waylines.wpml");
using (var stream = new FileStream(filePath, FileMode.Create))
{
await xmlFile.CopyToAsync(stream);
}
return Ok(new { message = "上传成功", path = filePath });
}
#endregion
#region 项目管理
/// <summary>
/// 获取项目列表
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<LasaWorkspace>>> GetWorkspaceList(string key)
{
var result = new Response<List<LasaWorkspace>>();
try
{
result = await _app.GetWorkspaceList(key);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.Message;
}
return result;
}
/// <summary>
/// 添加项目
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> AddWorkspace(LasaWorkspace info)
{
return await _app.AddWorkspace(info);
}
/// <summary>
/// 编辑项目
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> EditWorkspace(LasaWorkspace info)
{
return await _app.EditWorkspace(info);
}
/// <summary>
/// 删除项目
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> DeleteWorkspace(string id)
{
return await _app.DeleteWorkspace(id);
}
#endregion
}
}

@ -7,7 +7,7 @@
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:5007"
"applicationUrl": "http://localhost:10042"
},
"Docker": {
"commandName": "Docker",

Loading…
Cancel
Save