ExternalAPI_NET8/Web.Core.Services/Canteen/CanteenServices.cs
2026-05-21 17:23:36 +08:00

21 lines
947 B
C#

using Web.Core.Common.Dapper;
using Web.Core.IServices.Canteen;
using Web.Core.Model.Entity;
namespace Web.Core.Services.Canteen;
public class CanteenServices(IDapperHelper dapperHelper):ICanteenServices
{
private readonly IDapperHelper _db = dapperHelper;
public async Task<Ordermeals> GetMealsAmountAsync(string date)
{
string sql = """
WITH temp AS (SELECT Card_id,Dins1,Dins2,Dins1Cancel,Dins2Cancel FROM MealQuery(@date,@date))
SELECT ISNULL(SUM(CASE WHEN ISNULL(a.Dins1,0)=1 AND ISNULL(a.Dins1Cancel,0)=0 THEN 1 ELSE 0 END),0) AS lunch ,
ISNULL(SUM(CASE WHEN ISNULL(a.Dins2,0)=1 AND ISNULL(a.Dins2Cancel,0)=0 THEN 1 ELSE 0 END),0) AS dinner
FROM temp a
""";
return await _db.QueryFirstOrDefaultAsync<Ordermeals>(DapperHelper.SysName.Canteen, sql, new { date });
}
}