Merge remote-tracking branch 'origin/main'
commit
f6d0af348b
|
|
@ -282,13 +282,22 @@ namespace OpenAuth.App.ServiceApp
|
|||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Response<List<dynamic>>> GetWorkspaceList(string key)
|
||||
public async Task<Response<List<dynamic>>> GetWorkspaceList(int isjoin,string key,int state,string order= "\"CreateTime\" desc")
|
||||
{
|
||||
RefAsync<int> totalCount = 0;
|
||||
using (var db = UnitWork.CreateContext())
|
||||
{
|
||||
var userid = _auth.GetCurrentUser().User.Id;
|
||||
List<string> ids=new List<string>();
|
||||
if (isjoin == 1)
|
||||
{
|
||||
ids=db.LasaSpaceUser.AsQueryable().Where(r=>r.UserId== userid)?.Select(r => r.WorkSpaceId).ToList();
|
||||
}
|
||||
var list = await db.LasaWorkspace.AsQueryable()
|
||||
.WhereIF(!string.IsNullOrEmpty(key), a => a.WorkspaceName.Contains(key))
|
||||
.WhereIF(state != 0, a => a.Sate == state)
|
||||
.WhereIF(isjoin == 1, a => ids.Contains(a.Id))
|
||||
.WhereIF(isjoin == 2, a => !ids.Contains(a.Id))
|
||||
.LeftJoin<SysUser>((a, u) => a.CreateId == u.Id)
|
||||
.Select<dynamic>((a, u) => new
|
||||
{
|
||||
|
|
@ -299,9 +308,12 @@ namespace OpenAuth.App.ServiceApp
|
|||
a.CreateTime,
|
||||
a.CreateId,
|
||||
u.Account,
|
||||
u.Name
|
||||
})
|
||||
u.Name,
|
||||
UserNames = SqlFunc.Subqueryable<LasaSpaceUser>().Where(r => r.WorkSpaceId == a.Id).LeftJoin<SysUser>((r, s) => r.UserId == s.Id).SelectStringJoin((r, s) => s.Name, ",")
|
||||
}).MergeTable()
|
||||
.OrderBy(order)
|
||||
.ToListAsync();
|
||||
|
||||
return new Response<List<dynamic>>
|
||||
{
|
||||
Result = list
|
||||
|
|
@ -469,6 +481,21 @@ namespace OpenAuth.App.ServiceApp
|
|||
}
|
||||
}
|
||||
|
||||
//归档项目
|
||||
public async Task<Response<bool>> CompleteWorkspace(string id)
|
||||
{
|
||||
using (var db = UnitWork.CreateContext())
|
||||
{
|
||||
await db.LasaWorkspace.UpdateAsync(u => new LasaWorkspace
|
||||
{
|
||||
Sate = 2
|
||||
}, u => u.Id == id);
|
||||
if (db.Commit())
|
||||
return new Response<bool> { Result = true, Message = "归档成功" };
|
||||
else
|
||||
return new Response<bool> { Result = false, Message = "归档失败" };
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
public async Task ExecuteFlyTask(string taskId)
|
||||
|
|
|
|||
|
|
@ -71,5 +71,274 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 切换相机
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<Response<int>> ExchangeCamera(string camera,int position,string videoId)
|
||||
{
|
||||
Response<int> response = new Response<int>();
|
||||
try
|
||||
{
|
||||
|
||||
var topicRequest = $"thing/product/8UUXN5400A079H/services";
|
||||
var requestData = new
|
||||
{
|
||||
bid = Guid.NewGuid().ToString(),
|
||||
method = "live_camera_change",
|
||||
tid = Guid.NewGuid().ToString(),
|
||||
timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
|
||||
data = new
|
||||
{
|
||||
camera_position = position,
|
||||
video_id = "8UUXN5400A079H/165-0-7/normal-0"
|
||||
}
|
||||
};
|
||||
string payload = JsonSerializer.Serialize(requestData);
|
||||
await _mqttClientManager.PublishAsync(topicRequest, payload);
|
||||
|
||||
var topicRequest1 = $"thing/product/8UUXN5400A079H/services_reply";
|
||||
var requestData1 = new
|
||||
{
|
||||
bid = Guid.NewGuid().ToString(),
|
||||
method = "live_camera_change",
|
||||
tid = Guid.NewGuid().ToString(),
|
||||
timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
|
||||
data = new
|
||||
{
|
||||
result = 0
|
||||
}
|
||||
};
|
||||
string payload1 = JsonSerializer.Serialize(requestData1);
|
||||
await _mqttClientManager.PublishAsync(topicRequest1, payload1);
|
||||
|
||||
response.Result = 1;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
response.Code = 500;
|
||||
response.Message = ex.Message;
|
||||
}
|
||||
return response; ;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 设置直播镜头
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<Response<int>> SetCamera(string cameraType, string videoId)
|
||||
{
|
||||
Response<int> response = new Response<int>();
|
||||
try
|
||||
{
|
||||
|
||||
var topicRequest = $"thing/product/8UUXN5400A079H/services";
|
||||
var requestData = new
|
||||
{
|
||||
bid = Guid.NewGuid().ToString(),
|
||||
method = "live_lens_change",
|
||||
tid = Guid.NewGuid().ToString(),
|
||||
timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
|
||||
data = new
|
||||
{
|
||||
video_type = cameraType,
|
||||
video_id = "8UUXN5400A079H/165-0-7/normal-0"
|
||||
}
|
||||
};
|
||||
string payload = JsonSerializer.Serialize(requestData);
|
||||
await _mqttClientManager.PublishAsync(topicRequest, payload);
|
||||
|
||||
var topicRequest1 = $"thing/product/8UUXN5400A079H/services_reply";
|
||||
var requestData1 = new
|
||||
{
|
||||
bid = Guid.NewGuid().ToString(),
|
||||
method = "live_lens_change",
|
||||
tid = Guid.NewGuid().ToString(),
|
||||
timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
|
||||
data = new
|
||||
{
|
||||
result = 0
|
||||
}
|
||||
};
|
||||
string payload1 = JsonSerializer.Serialize(requestData1);
|
||||
await _mqttClientManager.PublishAsync(topicRequest1, payload1);
|
||||
|
||||
response.Result = 1;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
response.Code = 500;
|
||||
response.Message = ex.Message;
|
||||
}
|
||||
return response;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 设置直播清晰度
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<Response<int>> SetCameraVideo(int videoQuality, string videoId)
|
||||
{
|
||||
Response<int> response = new Response<int>();
|
||||
try
|
||||
{
|
||||
|
||||
var topicRequest = $"thing/product/8UUXN5400A079H/services";
|
||||
var requestData = new
|
||||
{
|
||||
bid = Guid.NewGuid().ToString(),
|
||||
method = "live_set_quality",
|
||||
tid = Guid.NewGuid().ToString(),
|
||||
timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
|
||||
data = new
|
||||
{
|
||||
video_quality = videoQuality,
|
||||
video_id = "8UUXN5400A079H/165-0-7/normal-0"
|
||||
}
|
||||
};
|
||||
string payload = JsonSerializer.Serialize(requestData);
|
||||
await _mqttClientManager.PublishAsync(topicRequest, payload);
|
||||
|
||||
var topicRequest1 = $"thing/product/8UUXN5400A079H/services_reply";
|
||||
var requestData1 = new
|
||||
{
|
||||
bid = Guid.NewGuid().ToString(),
|
||||
method = "live_set_quality",
|
||||
tid = Guid.NewGuid().ToString(),
|
||||
timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
|
||||
data = new
|
||||
{
|
||||
result = 0
|
||||
}
|
||||
};
|
||||
string payload1 = JsonSerializer.Serialize(requestData1);
|
||||
await _mqttClientManager.PublishAsync(topicRequest1, payload1);
|
||||
|
||||
response.Result = 1;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
response.Code = 500;
|
||||
response.Message = ex.Message;
|
||||
}
|
||||
return response;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 停止直播
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<Response<int>> EndLive( string videoId)
|
||||
{
|
||||
Response<int> response = new Response<int>();
|
||||
try
|
||||
{
|
||||
|
||||
var topicRequest = $"thing/product/8UUXN5400A079H/services";
|
||||
var requestData = new
|
||||
{
|
||||
bid = Guid.NewGuid().ToString(),
|
||||
method = "live_stop_push",
|
||||
tid = Guid.NewGuid().ToString(),
|
||||
timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
|
||||
data = new
|
||||
{
|
||||
|
||||
video_id = "8UUXN5400A079H/165-0-7/normal-0"
|
||||
}
|
||||
};
|
||||
string payload = JsonSerializer.Serialize(requestData);
|
||||
await _mqttClientManager.PublishAsync(topicRequest, payload);
|
||||
|
||||
var topicRequest1 = $"thing/product/8UUXN5400A079H/services_reply";
|
||||
var requestData1 = new
|
||||
{
|
||||
bid = Guid.NewGuid().ToString(),
|
||||
method = "live_start_push",
|
||||
tid = Guid.NewGuid().ToString(),
|
||||
timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
|
||||
data = new
|
||||
{
|
||||
result = 0
|
||||
}
|
||||
};
|
||||
string payload1 = JsonSerializer.Serialize(requestData1);
|
||||
await _mqttClientManager.PublishAsync(topicRequest1, payload1);
|
||||
|
||||
response.Result = 1;
|
||||
|
||||
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
response.Code = 500;
|
||||
response.Message = ex.Message;
|
||||
}
|
||||
return response;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 开始直播
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<Response<int>> StartLive(string videoId,int urlType,string url,int quality)
|
||||
{
|
||||
Response<int> response = new Response<int>();
|
||||
try
|
||||
{
|
||||
|
||||
var topicRequest = $"thing/product/8UUXN5400A079H/services";
|
||||
var requestData = new
|
||||
{
|
||||
bid = Guid.NewGuid().ToString(),
|
||||
method = "live_start_push",
|
||||
tid = Guid.NewGuid().ToString(),
|
||||
timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
|
||||
data = new
|
||||
{
|
||||
url_type = urlType,
|
||||
url = url,
|
||||
video_quality = quality,
|
||||
video_id = "8UUXN5400A079H/165-0-7/normal-0"
|
||||
}
|
||||
};
|
||||
string payload = JsonSerializer.Serialize(requestData);
|
||||
await _mqttClientManager.PublishAsync(topicRequest, payload);
|
||||
|
||||
|
||||
|
||||
response.Result = 1;
|
||||
|
||||
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
response.Code = 500;
|
||||
response.Message = ex.Message;
|
||||
}
|
||||
return response;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -294,15 +294,18 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|||
/// <summary>
|
||||
/// 获取项目列表
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="isjoin">是否是已加入的项目(0全部,1加入,2未加入)</param>
|
||||
/// <param name="key">项目名称筛选</param>
|
||||
/// <param name="state">状态(0全部,1进行中,2已归档)</param>
|
||||
/// <param name="order">排序</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<Response<List<dynamic>>> GetWorkspaceList(string key)
|
||||
public async Task<Response<List<dynamic>>> GetWorkspaceList(int isjoin, string key, int state, string order = "\"CreateTime\" desc")
|
||||
{
|
||||
var result = new Response<List<dynamic>>();
|
||||
try
|
||||
{
|
||||
result = await _app.GetWorkspaceList(key);
|
||||
result = await _app.GetWorkspaceList(isjoin,key,state,order);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -343,6 +346,15 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|||
return await _app.DeleteWorkspace(id);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 归档项目
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<Response<bool>> CompleteWorkspace(string id)
|
||||
{
|
||||
return await _app.CompleteWorkspace(id);
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取机场列表,添加项目使用
|
||||
/// </summary>
|
||||
|
|
|
|||
Loading…
Reference in New Issue