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; } } }