64 lines
2.0 KiB
C#
64 lines
2.0 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>
|
|
/// <param name="teacherNo"></param>
|
|
/// <returns></returns>
|
|
public async Task<bool> 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;
|
|
}
|
|
}
|
|
}
|