This commit is contained in:
parent
e29665cd90
commit
ac22e5097c
|
|
@ -108,7 +108,7 @@ namespace WGShare.API.Controllers
|
|||
pipe.Del(RedisKeyConstant.Data.GetRefreshTokenKey(tokens.RefreshToken));
|
||||
}
|
||||
// 设置新的刷新token
|
||||
pipe.Set(RedisKeyConstant.Data.GetRefreshTokenKey(refreshToken), user, TimeSpan.FromDays(7).TotalSeconds.ToInt32());
|
||||
pipe.Set(RedisKeyConstant.Data.GetRefreshTokenKey(refreshToken), user, TimeSpan.FromDays(360).TotalSeconds.ToInt32());
|
||||
// 记录accessToken
|
||||
pipe.Set(RedisKeyConstant.Data.GetAccessTokenKey(user.Id), new AccessAndRefreshToken
|
||||
{
|
||||
|
|
@ -177,7 +177,7 @@ namespace WGShare.API.Controllers
|
|||
using (var pipe = RedisHelper.Instance.StartPipe())
|
||||
{
|
||||
pipe.Del(RedisKeyConstant.Data.GetRefreshTokenKey(refreshToken));
|
||||
pipe.Set(RedisKeyConstant.Data.GetRefreshTokenKey(refreshTokenNew), user, TimeSpan.FromDays(7).TotalSeconds.ToInt32());
|
||||
pipe.Set(RedisKeyConstant.Data.GetRefreshTokenKey(refreshTokenNew), user, TimeSpan.FromDays(360).TotalSeconds.ToInt32());
|
||||
pipe.Set(RedisKeyConstant.Data.GetAccessTokenKey(user.Id), new AccessAndRefreshToken
|
||||
{
|
||||
AccessToken = accessToken,
|
||||
|
|
|
|||
|
|
@ -8,12 +8,14 @@ using MiniExcelLibs;
|
|||
using MiniExcelLibs.Attributes;
|
||||
using MiniExcelLibs.OpenXml;
|
||||
using SqlSugar;
|
||||
using SqlSugar.Extensions;
|
||||
using System.IO;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.RegularExpressions;
|
||||
using WGShare.API.Controllers.Basic;
|
||||
using WGShare.API.Helpers;
|
||||
using WGShare.Domain.Constant;
|
||||
using WGShare.Domain.DTOs.Home;
|
||||
using WGShare.Domain.DTOs.MiniProgram;
|
||||
using WGShare.Domain.DTOs.Room;
|
||||
using WGShare.Domain.Entities;
|
||||
|
|
@ -354,5 +356,20 @@ namespace WGShare.API.Controllers.Frontend
|
|||
_logger.LogError("返回 ContentType 未命中");
|
||||
throw Oops.Oh("二维码生成失败");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 反馈打分
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost("feedback")]
|
||||
public async Task FeedbackScoring([FromBody] FeedBackRequset requset)
|
||||
{
|
||||
var entity = requset.Adapt<FeedbackIssue>();
|
||||
entity.UID = UId.ToInt64();
|
||||
entity.Types = string.Join(",", requset.Types);
|
||||
|
||||
await _sqlSugar.Insertable(entity).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,17 +104,27 @@ namespace WGShare.API.Controllers.Frontend
|
|||
var showUserId = RedisHelper.Instance.HGet(RedisKeyConstant.SessionManage.GetChannelShowUserKey(TenantId), inputDTO.RoomNum);
|
||||
if (showUserId == inputDTO.UserId || showUserId == user.ScreenShareId)
|
||||
{
|
||||
|
||||
//var users = RedisHelper.Instance.HVals<ChannelUserInfo>(RedisKeyConstant.SessionManage.GetChannelUserKey(TenantId, inputDTO.RoomNum));
|
||||
//var showUser = users.FirstOrDefault(x => x.RoleId == ((int)RoleEnums.Admin).ToString() || x.IsRoomManager || x.RoleId == ((int)RoleEnums.RoomManager).ToString());
|
||||
//if (showUser != null)
|
||||
//{
|
||||
|
||||
if (UId == inputDTO.UserId)
|
||||
{
|
||||
// 表示自己取消自己的发言权限
|
||||
var users = RedisHelper.Instance.HVals<ChannelUserInfo>(RedisKeyConstant.SessionManage.GetChannelUserKey(TenantId, inputDTO.RoomNum));
|
||||
var showUser = users.FirstOrDefault(x => x.RoleId == ((int)RoleEnums.Admin).ToString() || x.IsRoomManager || x.RoleId == ((int)RoleEnums.RoomManager).ToString());
|
||||
if (showUser != null)
|
||||
{
|
||||
RedisHelper.Instance.HSet(RedisKeyConstant.SessionManage.GetChannelShowUserKey(TenantId), inputDTO.RoomNum, showUser.UID);
|
||||
await _hubContext.Clients.Group(inputDTO.RoomNum).ShowUser(showUser.UID, showUser.UserName, string.Empty, string.Empty);
|
||||
}
|
||||
else
|
||||
{
|
||||
RedisHelper.Instance.HSet(RedisKeyConstant.SessionManage.GetChannelShowUserKey(TenantId), inputDTO.RoomNum, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 取消显示用户,设置显示当前操作的管理员
|
||||
RedisHelper.Instance.HSet(RedisKeyConstant.SessionManage.GetChannelShowUserKey(TenantId), inputDTO.RoomNum, UId);
|
||||
await _hubContext.Clients.Group(inputDTO.RoomNum).ShowUser(UId, UserName, string.Empty, string.Empty);
|
||||
//}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
await _hubContext.Clients.Group(inputDTO.RoomNum).ManagerRefresh(user, UId);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using WGShare.Domain.DTOs.User;
|
||||
using SignalRSwaggerGen.Attributes;
|
||||
using WGShare.Domain.DTOs.User;
|
||||
using WGShare.Domain.Entities;
|
||||
|
||||
namespace WGShare.API.Hubs
|
||||
|
|
@ -6,6 +7,7 @@ namespace WGShare.API.Hubs
|
|||
/// <summary>
|
||||
/// 客户端消息
|
||||
/// </summary>
|
||||
[SignalRHub]
|
||||
public interface IMessageClient
|
||||
{
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -99,7 +99,6 @@ namespace WGShare.API
|
|||
options.SwaggerEndpoint($"/swagger/frontend/swagger.json", "前端");
|
||||
options.SwaggerEndpoint($"/swagger/backend/swagger.json", "后端");
|
||||
options.SwaggerEndpoint($"/swagger/public/swagger.json", "公共接口");
|
||||
|
||||
});
|
||||
app.UseCustomCors();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ namespace WGShare.API.ServiceConfigs
|
|||
{
|
||||
services.AddSwaggerGen(w =>
|
||||
{
|
||||
w.AddSignalRSwaggerGen();
|
||||
w.SwaggerDoc("frontend", new OpenApiInfo { Title = "前端", Version = "frontend" });
|
||||
w.SwaggerDoc("backend", new OpenApiInfo { Title = "后端", Version = "backend" });
|
||||
w.SwaggerDoc("public", new OpenApiInfo { Title = "公共接口", Version = "public" });
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
<PackageReference Include="Hangfire.AspNetCore" Version="1.8.14" />
|
||||
<PackageReference Include="Hangfire.Core" Version="1.8.14" />
|
||||
<PackageReference Include="Hangfire.MemoryStorage" Version="1.8.1.1" />
|
||||
<PackageReference Include="SignalRSwaggerGen" Version="4.7.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -156,6 +156,12 @@
|
|||
<param name="roomNum"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WGShare.API.Controllers.Frontend.HomeController.FeedbackScoring(WGShare.Domain.DTOs.Home.FeedBackRequset)">
|
||||
<summary>
|
||||
反馈打分
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:WGShare.API.Controllers.Frontend.RoomController">
|
||||
<summary>
|
||||
会议室接口
|
||||
|
|
|
|||
|
|
@ -36,12 +36,12 @@
|
|||
"Issuer": "WGshareApi",
|
||||
"Audience": "WGshareClient",
|
||||
// 过期 秒
|
||||
"Expires": 86400
|
||||
"Expires": 600000
|
||||
},
|
||||
"Agora": {
|
||||
"appId": "4a4f7be64fa1404ebda74784fe9ac381",
|
||||
"appSecret": "255e05d96c794251b282a0de84242355",
|
||||
"tokenExpireTimeInSecond": 7200,
|
||||
"tokenExpireTimeInSecond": 300,
|
||||
"apiPrefix": "https://api.sd-rtn.com/",
|
||||
"clientId": "80cdc24f7dfa4497a37d98da95a3c4a4",
|
||||
"clientSecret": "8323581d4d464114b1f324b26cc62e09",
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@
|
|||
"SecretKey": "apDbztyqjSNuvWnezhbdUxduhDidZbF897t2uTJs53RMdY9Cai7eexavBhka3HN6mcTe9oohjFg6bNffRRkcfMqnVKNBnmyPzkRgNopHGJAL7KMwkeZdZ7BaWnT57jCi11",
|
||||
"Issuer": "WGshareApi",
|
||||
"Audience": "WGshareClient",
|
||||
// 过期 秒
|
||||
"Expires": 86400
|
||||
// 过期 秒 360 天
|
||||
"Expires": 31104000
|
||||
},
|
||||
"ConnectionStrings": {
|
||||
"metting": "Database=metting;Server=rm-2vc20nd3d11g0oh6g.rwlb.cn-chengdu.rds.aliyuncs.com;Port=3306;Uid=marking;Pwd=poiuytPOIUYT098765)(*&^%;AllowZeroDateTime=True;ConvertZeroDateTime=True;",
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
"Agora": {
|
||||
"appId": "dcfc466a6ecb4a1f972630065dfb1e75",
|
||||
"appSecret": "fc77000e329b4be7a0e26fa789e20d00",
|
||||
"tokenExpireTimeInSecond": 7200,
|
||||
"tokenExpireTimeInSecond": 72000,
|
||||
"apiPrefix": "https://api.sd-rtn.com/",
|
||||
"clientId": "80cdc24f7dfa4497a37d98da95a3c4a4",
|
||||
"clientSecret": "8323581d4d464114b1f324b26cc62e09",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using WGShare.Domain.Enums;
|
||||
|
||||
namespace WGShare.Domain.DTOs.Home
|
||||
{
|
||||
public class FeedBackRequset
|
||||
{
|
||||
/// <summary>
|
||||
/// 分值
|
||||
/// </summary>
|
||||
public double Score { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 反馈内容
|
||||
/// </summary>
|
||||
public string OtherContent { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 反馈类型
|
||||
/// </summary>
|
||||
public List<int> Types { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using SqlSugar;
|
||||
using WGShare.Domain.Enums;
|
||||
using Yitter.IdGenerator;
|
||||
namespace WGShare.Domain.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// 反馈问题表
|
||||
///</summary>
|
||||
[SugarTable("feedback_issue")]
|
||||
public class FeedbackIssue
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
|
||||
public string Id { get; set; } = YitIdHelper.NextId().ToString();
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// 默认值: CURRENT_TIMESTAMP
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "create_time", IsOnlyIgnoreInsert = true, IsOnlyIgnoreUpdate = true)]
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户id
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "uid")]
|
||||
public long UID { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 分值
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "score")]
|
||||
public double Score { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 反馈其他
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "other_content")]
|
||||
public string OtherContent { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 反馈其他
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "types")]
|
||||
public string Types { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace WGShare.Domain.Enums
|
||||
{
|
||||
/// <summary>
|
||||
/// 反馈问题枚举
|
||||
/// </summary>
|
||||
public enum FeedbackIssueEnums
|
||||
{
|
||||
/// <summary>
|
||||
/// 其他
|
||||
/// </summary>
|
||||
Other = 1,
|
||||
/// <summary>
|
||||
/// 软件卡顿
|
||||
/// </summary>
|
||||
SoftwareLag = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 设计不合理
|
||||
/// </summary>
|
||||
UnreasonableDesign = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 功能太少
|
||||
/// </summary>
|
||||
TooLittleFeatures = 4,
|
||||
|
||||
/// <summary>
|
||||
/// 通话不流畅
|
||||
/// </summary>
|
||||
CallIsNotSmooth = 5,
|
||||
|
||||
/// <summary>
|
||||
/// 视频卡顿
|
||||
/// </summary>
|
||||
VideoLag = 6,
|
||||
|
||||
/// <summary>
|
||||
/// 操作麻烦
|
||||
/// </summary>
|
||||
OperationTrouble
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue