新增啟用或未啟用
This commit is contained in:
parent
d32d9175eb
commit
e2148ff17a
@ -15,7 +15,7 @@ namespace TCM_API.Controllers.lamiter
|
|||||||
{
|
{
|
||||||
[Route("api/[controller]")]
|
[Route("api/[controller]")]
|
||||||
[ApiController]
|
[ApiController]
|
||||||
//[Authorize]
|
[Authorize]
|
||||||
public class Company_detail_tableController : ControllerBase
|
public class Company_detail_tableController : ControllerBase
|
||||||
{
|
{
|
||||||
private readonly SqlContext _context;
|
private readonly SqlContext _context;
|
||||||
@ -33,11 +33,14 @@ namespace TCM_API.Controllers.lamiter
|
|||||||
public async Task<ActionResult<object>> GetCompany_all_deatil()
|
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
|
select new
|
||||||
{
|
{
|
||||||
company_name = c.company_name,
|
company_name = a.company_name,
|
||||||
guid = c.guid
|
guid = a.guid,
|
||||||
|
level = b.level
|
||||||
|
|
||||||
}).ToListAsync();
|
}).ToListAsync();
|
||||||
return Ok( data);
|
return Ok( data);
|
||||||
@ -48,7 +51,18 @@ namespace TCM_API.Controllers.lamiter
|
|||||||
[HttpGet("get_campany-{guid}")]
|
[HttpGet("get_campany-{guid}")]
|
||||||
public async Task<ActionResult<object>> GetCompany_deatil(string 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)
|
if (data == null)
|
||||||
{
|
{
|
||||||
return NotFound();
|
return NotFound();
|
||||||
@ -58,6 +72,32 @@ namespace TCM_API.Controllers.lamiter
|
|||||||
#endregion
|
#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 新增企業
|
#region 新增企業
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新增企業
|
/// 新增企業
|
||||||
@ -115,5 +155,14 @@ namespace TCM_API.Controllers.lamiter
|
|||||||
{
|
{
|
||||||
return _context.company_detail_table.Any(e => e.guid == id);
|
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>
|
||||||
/// 獲取所有健管師
|
/// 獲取所有健管師
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[HttpGet("get_all_health-")]
|
[HttpGet("get_all_health")]
|
||||||
public async Task<ActionResult<object>> GetHealth_all_deatil()
|
public async Task<ActionResult<object>> GetHealth_all_deatil()
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -43,6 +43,104 @@ namespace TCM_API.Controllers.manage
|
|||||||
}
|
}
|
||||||
#endregion
|
#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 新增健管師
|
#region 新增健管師
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -50,8 +50,11 @@ public class UserService : IUserService
|
|||||||
&& x.password == model.Password);
|
&& x.password == model.Password);
|
||||||
|
|
||||||
// return null if user not found
|
// return null if user not found
|
||||||
if (user == null) return null;
|
if (user == null ) return null;
|
||||||
|
if (!int.TryParse(user.level, out int level) || level % 2 != 0)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
// authentication successful so generate jwt token
|
// authentication successful so generate jwt token
|
||||||
var token = _jwtUtils.GenerateJwtToken(user);
|
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