修改挂单功能

This commit is contained in:
2025-09-09 16:25:28 +08:00
parent e6c6b1f43f
commit ded24a8446
23 changed files with 1073 additions and 231 deletions

View File

@@ -11,7 +11,7 @@ using System.Web.Http;
/// lianyouController 的摘要描述
/// </summary>
[ezAuthorize]
public class lianyouController: ApiController
public class lianyouController : ApiController
{
private Model.ezEntities _db = new Model.ezEntities();
@@ -19,13 +19,34 @@ public class lianyouController: ApiController
[Route("api/lianyou/getfollowers")]
public async Task<IHttpActionResult> GetGuadanFollowers(int page, int pageSize, string searchName = null)
{
var qry = _db.followers.AsEnumerable();
if(searchName != null)
// IQueryable 可讓 EF 在資料庫層面執行過濾和投影
var qry = _db.followers.AsQueryable();
if (!string.IsNullOrEmpty(searchName))
{
qry = qry.Where(a => (a.u_name ?? "").Contains(searchName) || (a.phone ?? "").Contains(searchName));
}
var count = qry.Count();
var data = qry.OrderBy(a => a.f_number).ToPagedList(page, pageSize);
return Ok(new {data = data, count = count});
var count = await qry.CountAsync();
// 投影到只需要的欄位
var projected = qry
.OrderBy(a => a.f_number)
.Select(a => new
{
num = a.num,
u_name = a.u_name,
phone = a.phone,
sex = a.sex,
});
// 分頁
var data = projected
.Skip((page - 1) * pageSize)
.Take(pageSize)
.ToList(); // 如果使用 EF Core 可用 ToListAsync()
return Ok(new { data = data, count = count });
}
}