using OASystem.Domain.Dtos.UserDto; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using OASystem.Domain; using SqlSugar; using OASystem.Domain.Entities.System; using EyeSoft.Runtime.InteropServices; namespace OASystem.Infrastructure.Repositories.Login { public class DeviceTokenRepository : BaseRepository { public DeviceTokenRepository(SqlSugarClient sqlSugar) : base(sqlSugar) { } public async Task GetToken(string number) { Result result = new Result() { Code = -2 }; string sql = string.Format("Select * From Sys_DeviceToken With(NoLock) Where Number = '{0}'", number); Sys_DeviceToken deviceTokenEntity = await GetSingleInfoBySqlWithNolockAsync(sql); if (deviceTokenEntity == null) { result.Code = -2; result.Msg = "获取失败!"; result.Data = null; } else { DeviceTokenView view = new DeviceTokenView() { Id = deviceTokenEntity.Id, DeviceToken = deviceTokenEntity.DeviceToken, Number = number }; result.Code = 0; result.Msg = "!"; result.Data = view; } return result; } public async Task SaveToken(SaveDeviceToken dto) { Result result = new Result() { Code = -2 }; string sql = string.Format("Select * From Sys_DeviceToken With(NoLock) Where Number = '{0}'", dto.account); Sys_DeviceToken deviceTokenEntity = await GetSingleInfoBySqlWithNolockAsync(sql); if (deviceTokenEntity == null) { Sys_DeviceToken ist = new Sys_DeviceToken() { CreateTime = DateTime.Now, CreateUserId = 234, DeleteTime = "", DeleteUserId = 0, DeviceToken = dto.deviceToken, IsDel = 0, Number = dto.account, Remark = "" }; var _AddId = await _sqlSugar.Insertable(ist).ExecuteReturnIdentityAsync(); if (_AddId < 0) { result.Code = -2; result.Msg = "添加失败!"; } else { result.Code = 0; result.Msg = "操作成功!"; } } else { var change = await _sqlSugar.Updateable() .SetColumns(it => it.DeviceToken == dto.deviceToken) .Where(it => it.Id == deviceTokenEntity.Id) .ExecuteCommandAsync(); if (change > 0) { result.Code = 0; result.Msg = "操作成功!"; } else { result.Code = -2; result.Msg = "更新失败!"; } } return result; } } }