2026-01-29 11:51:47 +08:00

58 lines
1.8 KiB
C#

using AutoMapper;
using Microsoft.EntityFrameworkCore;
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>
/// Ai一体机扫描登录
/// </summary>
/// <param name="code"></param>
/// <param name="schoolCode"></param>
/// <returns></returns>
public async Task<bool> ScanCodeLogin(string code, string? schoolCode)
{
// 如果 schoolCode 为空,则取当前登录用户的 SchoolCode
if (string.IsNullOrWhiteSpace(schoolCode))
{
schoolCode = UserLoginContext.Current.SchoolCode;
}
// 先检查是否已存在相同的记录
var exist = await _sportsContext.Ai_ScanCodeLogin
.AnyAsync(x => x.Code == code && x.SchoolCode == schoolCode);
if (exist)
return true; // 已存在,认为成功
// 不存在则添加
var entity = new Ai_ScanCodeLogin
{
Code = code,
SchoolCode = schoolCode,
TeacherId = 0,
TeacherPhoneNo = UserLoginContext.Current.UserNo,
CreateDate = DateTime.Now
};
await _sportsContext.AddAsync(entity);
return await _sportsContext.SaveChangesAsync() > 0;
}
}
}