新增啟用或未啟用
This commit is contained in:
parent
d32d9175eb
commit
e2148ff17a
@ -15,7 +15,7 @@ namespace TCM_API.Controllers.lamiter
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
//[Authorize]
|
||||
[Authorize]
|
||||
public class Company_detail_tableController : ControllerBase
|
||||
{
|
||||
private readonly SqlContext _context;
|
||||
@ -33,11 +33,14 @@ namespace TCM_API.Controllers.lamiter
|
||||
public async Task<ActionResult<object>> GetCompany_all_deatil()
|
||||
{
|
||||
|
||||
var data = await(from c in _context.company_detail_table
|
||||
var data = await(from a in _context.company_detail_table
|
||||
join b in _context.user_table on a.guid equals b.guid into joined
|
||||
from b in joined.DefaultIfEmpty()
|
||||
select new
|
||||
{
|
||||
company_name = c.company_name,
|
||||
guid = c.guid
|
||||
company_name = a.company_name,
|
||||
guid = a.guid,
|
||||
level = b.level
|
||||
|
||||
}).ToListAsync();
|
||||
return Ok( data);
|
||||
@ -48,7 +51,18 @@ namespace TCM_API.Controllers.lamiter
|
||||
[HttpGet("get_campany-{guid}")]
|
||||
public async Task<ActionResult<object>> GetCompany_deatil(string guid)
|
||||
{
|
||||
var data = await _context.company_detail_table.FindAsync(guid);
|
||||
var data = await (from a in _context.company_detail_table
|
||||
join b in _context.user_table on a.guid equals b.guid into joined
|
||||
from b in joined.DefaultIfEmpty()
|
||||
where b.guid == guid
|
||||
select new
|
||||
{
|
||||
guid = a.guid,
|
||||
level = b.level,
|
||||
company_name = a.company_name,
|
||||
user_name = b.username,
|
||||
email = b.email
|
||||
}).FirstOrDefaultAsync();
|
||||
if (data == null)
|
||||
{
|
||||
return NotFound();
|
||||
@ -58,6 +72,32 @@ namespace TCM_API.Controllers.lamiter
|
||||
#endregion
|
||||
|
||||
|
||||
#region 編輯啟用
|
||||
/// <summary>
|
||||
/// 編輯企業啟用
|
||||
/// </summary>
|
||||
[HttpPost("company_enable")]
|
||||
public async Task<IActionResult> UpdateEnable(EnableDto enableDto)
|
||||
{
|
||||
var edit_data = await (from a in _context.user_table
|
||||
where a.guid == enableDto.Guid
|
||||
select a).FirstOrDefaultAsync();
|
||||
if (edit_data == null)
|
||||
{
|
||||
return NotFound("找不到該使用者");
|
||||
}
|
||||
|
||||
// 更新 level 屬性
|
||||
edit_data.level = enableDto.level;
|
||||
|
||||
// 標記為已修改
|
||||
_context.user_table.Update(edit_data);
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
return Ok();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 新增企業
|
||||
/// <summary>
|
||||
/// 新增企業
|
||||
@ -115,5 +155,14 @@ namespace TCM_API.Controllers.lamiter
|
||||
{
|
||||
return _context.company_detail_table.Any(e => e.guid == id);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 企業啟用請求 DTO
|
||||
/// </summary>
|
||||
public class CompanyEnableDto
|
||||
{
|
||||
public string? Guid { get; set; }
|
||||
public string? level { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ namespace TCM_API.Controllers.manage
|
||||
/// <summary>
|
||||
/// 獲取所有健管師
|
||||
/// </summary>
|
||||
[HttpGet("get_all_health-")]
|
||||
[HttpGet("get_all_health")]
|
||||
public async Task<ActionResult<object>> GetHealth_all_deatil()
|
||||
{
|
||||
|
||||
@ -43,6 +43,104 @@ namespace TCM_API.Controllers.manage
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 獲取指定企業健管師
|
||||
/// <summary>
|
||||
/// 獲取指定企業健管師
|
||||
/// </summary>
|
||||
[HttpGet("get_company_all_health-{guid}")]
|
||||
public async Task<ActionResult<object>> GetCompany_Health_all_deatil(string guid)
|
||||
{
|
||||
|
||||
var data = await (from a in _context.health_detail_table
|
||||
join b in _context.user_table on a.guid equals b.guid into joined
|
||||
from b in joined.DefaultIfEmpty() // LEFT JOIN
|
||||
where a.company_guid == guid
|
||||
select new
|
||||
{
|
||||
health_name = a.health_name,
|
||||
guid = a.guid,
|
||||
level = b.level
|
||||
}).ToListAsync();
|
||||
|
||||
return Ok(data);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 獲取指定企業健管師數量
|
||||
/// <summary>
|
||||
/// 獲取指定企業健管師
|
||||
/// </summary>
|
||||
[HttpGet("get_company_all_health_count-{guid}")]
|
||||
public async Task<ActionResult<object>> GetCompany_Health_all_count(string guid)
|
||||
{
|
||||
|
||||
var data = await (from a in _context.health_detail_table
|
||||
join b in _context.user_table on a.guid equals b.guid into userGroup
|
||||
from b in userGroup.DefaultIfEmpty() // 使用 DefaultIfEmpty() 實現 LEFT JOIN
|
||||
where a.company_guid == guid
|
||||
group a by b.level into g
|
||||
select new
|
||||
{
|
||||
level = g.Key,
|
||||
level_count = g.Count() // 計算每個 level 的數量
|
||||
}).ToListAsync();
|
||||
|
||||
|
||||
return Ok(data);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 獲取單一健管師
|
||||
[HttpGet("get_health_person-{guid}")]
|
||||
public async Task<ActionResult<object>> GetCompany_deatil(string guid)
|
||||
{
|
||||
var data = await (from a in _context.health_detail_table
|
||||
join b in _context.user_table on a.guid equals b.guid into joined
|
||||
from b in joined.DefaultIfEmpty()
|
||||
where b.guid == guid && a.guid == guid
|
||||
select new
|
||||
{
|
||||
guid = a.guid,
|
||||
level = b.level,
|
||||
health_name = a.health_name,
|
||||
user_name = b.username,
|
||||
email = b.email
|
||||
}).FirstOrDefaultAsync();
|
||||
if (data == null)
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
return data;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region 編輯啟用
|
||||
/// <summary>
|
||||
/// 編輯企業啟用
|
||||
/// </summary>
|
||||
[HttpPost("healther_enable")]
|
||||
public async Task<IActionResult> UpdateEnable(EnableDto enableDto)
|
||||
{
|
||||
var edit_data = await (from a in _context.user_table
|
||||
where a.guid == enableDto.Guid
|
||||
select a).FirstOrDefaultAsync();
|
||||
if (edit_data == null)
|
||||
{
|
||||
return NotFound("找不到該使用者");
|
||||
}
|
||||
|
||||
// 更新 level 屬性
|
||||
edit_data.level = enableDto.level;
|
||||
|
||||
// 標記為已修改
|
||||
_context.user_table.Update(edit_data);
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
return Ok();
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region 新增健管師
|
||||
/// <summary>
|
||||
|
@ -51,7 +51,10 @@ public class UserService : IUserService
|
||||
|
||||
// return null if user not found
|
||||
if (user == null ) return null;
|
||||
|
||||
if (!int.TryParse(user.level, out int level) || level % 2 != 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
// authentication successful so generate jwt token
|
||||
var token = _jwtUtils.GenerateJwtToken(user);
|
||||
|
||||
|
8
TCM_API/ViewModels/EnableDto.cs
Normal file
8
TCM_API/ViewModels/EnableDto.cs
Normal file
@ -0,0 +1,8 @@
|
||||
namespace TCM_API.ViewModels
|
||||
{
|
||||
public class EnableDto
|
||||
{
|
||||
public string? Guid { get; set; }
|
||||
public string? level { get; set; }
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user