58 lines
1.8 KiB
C#
Raw Normal View History

2025-07-08 14:57:45 +08:00
using AutoMapper;
2025-08-06 14:06:29 +08:00
using Microsoft.EntityFrameworkCore;
2025-07-08 14:57:45 +08:00
using YD_WeChatApplet.Api.Services.Interface;
using YD_WeChatApplet.Api.SmartSportsEntitys;
using YD_WeChatApplet.Api.Utilities;
using YD_WeChatApplet.Context;
namespace YD_WeChatApplet.Api.Services.Impl
{
/// <summary>
/// 公共接口
/// </summary>
public class FrameworkService : IFrameworkService
{
public SmartSportsContext _sportsContext;
public FrameworkService(SmartSportsContext sportsContext)
{
_sportsContext = sportsContext;
}
/// <summary>
2025-07-08 17:11:05 +08:00
/// Ai一体机扫描登录
2025-07-08 14:57:45 +08:00
/// </summary>
/// <param name="code"></param>
2026-01-29 11:51:47 +08:00
/// <param name="schoolCode"></param>
2025-07-08 14:57:45 +08:00
/// <returns></returns>
2026-01-29 11:51:47 +08:00
public async Task<bool> ScanCodeLogin(string code, string? schoolCode)
2025-07-08 14:57:45 +08:00
{
2026-01-29 11:51:47 +08:00
// 如果 schoolCode 为空,则取当前登录用户的 SchoolCode
if (string.IsNullOrWhiteSpace(schoolCode))
{
schoolCode = UserLoginContext.Current.SchoolCode;
}
2025-08-06 14:06:29 +08:00
// 先检查是否已存在相同的记录
var exist = await _sportsContext.Ai_ScanCodeLogin
2026-01-09 18:31:24 +08:00
.AnyAsync(x => x.Code == code && x.SchoolCode == schoolCode);
2025-08-06 14:06:29 +08:00
if (exist)
return true; // 已存在,认为成功
// 不存在则添加
var entity = new Ai_ScanCodeLogin
2025-07-08 14:57:45 +08:00
{
Code = code,
2026-01-09 18:31:24 +08:00
SchoolCode = schoolCode,
2026-01-09 16:57:15 +08:00
TeacherId = 0,
2026-01-12 16:14:49 +08:00
TeacherPhoneNo = UserLoginContext.Current.UserNo,
2025-07-08 14:57:45 +08:00
CreateDate = DateTime.Now
};
await _sportsContext.AddAsync(entity);
return await _sportsContext.SaveChangesAsync() > 0;
}
}
}