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
{
///
/// 公共接口
///
public class FrameworkService : IFrameworkService
{
public SmartSportsContext _sportsContext;
public FrameworkService(SmartSportsContext sportsContext)
{
_sportsContext = sportsContext;
}
///
/// Ai一体机扫描登录
///
///
///
///
///
public async Task ScanCodeLogin(string code, string? schoolCode = null, string? teacherNo = null)
{
// 如果 schoolCode 为空,则取当前登录用户的 SchoolCode
if (string.IsNullOrWhiteSpace(schoolCode))
{
schoolCode = UserLoginContext.Current.SchoolCode;
}
// 如果 teacherNo 为空,则取当前登录用户的 UserNo
if (string.IsNullOrWhiteSpace(teacherNo))
{
teacherNo = UserLoginContext.Current.UserNo;
}
// 先检查是否已存在相同的记录
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 = teacherNo,
CreateDate = DateTime.Now
};
await _sportsContext.AddAsync(entity);
return await _sportsContext.SaveChangesAsync() > 0;
}
}
}