form转移

This commit is contained in:
王炜翔 2024-11-23 18:29:15 +08:00
parent 59bc8fe511
commit 50d25d85cd
2 changed files with 167 additions and 6 deletions

View File

@ -9,6 +9,7 @@ using System.Threading.Tasks;
using Flandre.Core.Common;
using Flandre.Core.Messaging.Segments;
using Flandre.Core.Messaging;
using static asg_form.Controllers.InviteReferee;
namespace asg_form.Controllers.Teamregistration
{
@ -27,6 +28,7 @@ namespace asg_form.Controllers.Teamregistration
public string approval_person { get; set; }
public string approval_time { get; set; }
public string status { get; set; }
public string biz_type { get; set; }
}
public class userMsg
{
@ -39,6 +41,7 @@ namespace asg_form.Controllers.Teamregistration
public string? historyRank { get; set; }
public string? contactNumber { get; set; }
public int? id { get; set; }
public string bizType { get; set; }
}
public class RegisterController : ControllerBase
{
@ -85,15 +88,23 @@ namespace asg_form.Controllers.Teamregistration
create_time = dateString,
status = "1",
approval_person = "未审核",
approval_time = "未审核"
approval_time = "未审核",
biz_type = msg.bizType,
};
sub.T_Comform.Add(rgst);
await sub.SaveChangesAsync();
string mesg1 = $"ASG管理系统有新解说申请请及时上后台系统审批。";
string qqgroup1 = "925510646";
var atuserqq1 = "235593230";
var message1 = new MessageBuilder().Add(new AtSegment(atuserqq1)).Text(mesg1).Build();
await runbot.runbotr.SendMessageAsync(MessageEnvironment.Channel, qqgroup1, null, message1, qqgroup1);
try
{
var message1 = new MessageBuilder().Add(new AtSegment(atuserqq1)).Text(mesg1).Build();
await runbot.runbotr.SendMessageAsync(MessageEnvironment.Channel, qqgroup1, null, message1, qqgroup1);
}catch (Exception e)
{
return Ok(new error_mb { code = 200, message = "提交成功但是信息没有成功发出" });
}
return Ok(new error_mb { code = 200, message = "提交成功" });
}
@ -113,12 +124,20 @@ namespace asg_form.Controllers.Teamregistration
query.contact_number = msg.contactNumber;
query.create_time = dateString;
query.status = "1";
query.biz_type = msg.bizType;
await sub.SaveChangesAsync();
string mesg = $"ASG管理系统有新解说申请请及时上后台系统审批。";
string qqgroup = "925510646";
var atuserqq = "235593230";
var message = new MessageBuilder().Add(new AtSegment(atuserqq)).Text(mesg).Build();
await runbot.runbotr.SendMessageAsync(MessageEnvironment.Channel, qqgroup, null, message, qqgroup);
try
{
var message = new MessageBuilder().Add(new AtSegment(atuserqq)).Text(mesg).Build();
await runbot.runbotr.SendMessageAsync(MessageEnvironment.Channel, qqgroup, null, message, qqgroup);
}
catch (Exception e)
{
return Ok(new error_mb { code = 200, message = "提交成功但是信息没有成功发出" });
}
return Ok(new error_mb { code = 200, message = "成功修改" });
}
}

View File

@ -25,12 +25,154 @@ using static
using Manganese.Array;
using Microsoft.AspNetCore.Identity;
using Flurl.Http;
using System.Security.Claims;
namespace asg_form.Controllers
{
public class form_cs : ControllerBase
{
[Route("api/v3/form/all")]
[HttpGet]
public async Task<ActionResult<object>> GetFormById(short page, short limit, int sort, int eventId)
{
using (var db = new TestDbContext())
{
try
{
var query = db.Forms.Where(f => f.events.Id == eventId);
query = sort switch
{
0 => query.OrderByDescending(m => m.piaoshu).ThenByDescending(m => m.time),
1 => query.OrderBy(m => m.piaoshu),
2 => query.OrderByDescending(m => m.piaoshu),
3 => query.OrderBy(m => m.time),
4 => query.OrderByDescending(m => m.time),
_ => query
};
if (this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "nbadmin") || this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
{
try
{
var results = await query
.Skip((page - 1) * limit)
.Take(limit)
.Select(f => new AdminTeamFind
{
form = f,
roles = findRolesByFormId(f.Id, 0)
})
.ToListAsync();
int total = await query.CountAsync();
return Ok(new { code = 200, message = "成功", data = results, total });
}
catch (Exception ex)
{
return Ok(new { code = 500, message = "服务器错误", error = ex.Message });
}
}
else
{
var results = await query
.Skip((page - 1) * limit)
.Take(limit)
.Select(f => new AdminTeamFind
{
form = new form
{
Id = f.Id,
team_name = f.team_name,
piaoshu = f.piaoshu,
},
roles = findRolesByFormId(f.Id, 1)
})
.ToListAsync();
int total = await query.CountAsync();
return Ok(new { code = 200, message = "成功", data = results, total });
}
}
catch (Exception ex)
{
return Ok(new { code = 500, message = "服务器错误", ex = ex.Message });
}
}
}
public class tmpRole
{
public string? roleName { get; set; }
public int? roleRank { get; set; }
public string? commonRoles { get; set; }
public string? roleLin { get; set; }
public string? roleId { get; set; }
public string? gameName { get; set; }
public string? idCard { get; set; }
public string? phoneNumber { get; set; }
public string? idCardName { get; set; }
}
public class TeamFind
{
public long formId { get; set; }
public string teamName { get; set; }
public int voteOfLikes { get; set; }
public List<tmpRole> roles { get; set; } = new List<tmpRole>();
}
public class AdminTeamFind
{
public form? form { get; set; }
public List<tmpRole>? roles { get; set; } = new List<tmpRole>();
}
private static List<tmpRole> findRolesByFormId(long formId, int y)
{
var roles = new List<tmpRole>();
var db = new TestDbContext();
try
{
var query = db.Roles.Where(x => x.form.Id == formId);
if (y == 1)
{
roles = query
.Select(f => new tmpRole
{
roleName = f.role_name,
roleRank = f.Historical_Ranks,
commonRoles = f.Common_Roles,
roleLin = f.role_lin
})
.ToList();
}
else
{
roles = query
.Select(f => new tmpRole
{
roleName = f.role_name,
roleRank = f.Historical_Ranks,
commonRoles = f.Common_Roles,
roleLin = f.role_lin,
roleId = f.role_id,
gameName = f.Game_Name,
idCard = f.Id_Card,
phoneNumber = f.Phone_Number,
idCardName = f.Id_Card_Name
})
.ToList();
}
}
catch (Exception ex)
{
Console.WriteLine($"Error in BuildTree: {ex.Message}");
throw;
}
return roles;
}
}
[ApiController]
[Route("[controller]")]