完成签到
This commit is contained in:
parent
519c3949b5
commit
4a08c56042
|
|
@ -4,6 +4,8 @@ using Mapster;
|
||||||
using Masuit.Tools;
|
using Masuit.Tools;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using MiniExcelLibs;
|
using MiniExcelLibs;
|
||||||
|
using MiniExcelLibs.Attributes;
|
||||||
|
using MiniExcelLibs.OpenXml;
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
|
@ -211,9 +213,11 @@ namespace WGShare.API.Controllers.Frontend
|
||||||
RoomNum = room.RoomNum,
|
RoomNum = room.RoomNum,
|
||||||
BeginTime = beginDatetime.ToString("yyyy-MM-dd HH:mm:ss"),
|
BeginTime = beginDatetime.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||||
EndTime = endDaetime.ToString("yyyy-MM-dd HH:mm:ss"),
|
EndTime = endDaetime.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||||
Users = new List<UserBehavior>()
|
Users = new List<UserBehavior>(),
|
||||||
|
Signin = new List<SignInListRecordExcelDto>()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#region 计算入会次数、累计参会时长
|
||||||
foreach (var userRecord in groupByUser)
|
foreach (var userRecord in groupByUser)
|
||||||
{
|
{
|
||||||
if (userRecord.IsNullOrEmpty())
|
if (userRecord.IsNullOrEmpty())
|
||||||
|
|
@ -262,6 +266,22 @@ namespace WGShare.API.Controllers.Frontend
|
||||||
SumTime = sumTime,
|
SumTime = sumTime,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 计算签到次数
|
||||||
|
var signins = await _sqlSugar.Queryable<UserSignInRecord>()
|
||||||
|
.InnerJoin<User>((u, us) => u.UId == us.Id)
|
||||||
|
.Where((u, us) => u.RoomNum == roomNum && u.CreateTime >= beginDatetime && u.CreateTime <= endDaetime)
|
||||||
|
.Select((u, us) => new SignInListRecordExcelDto
|
||||||
|
{
|
||||||
|
Account = us.Account,
|
||||||
|
SignInTime = u.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||||
|
UserName = us.UserName,
|
||||||
|
SignInName = u.SignInName
|
||||||
|
})
|
||||||
|
.ToListAsync();
|
||||||
|
value.Signin.AddRange(signins);
|
||||||
|
#endregion
|
||||||
|
|
||||||
using var stream = new MemoryStream();
|
using var stream = new MemoryStream();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -658,5 +658,33 @@ namespace WGShare.API.Controllers.Frontend
|
||||||
return _ossHelper.GetAccessFileUrl(fileUrl);
|
return _ossHelper.GetAccessFileUrl(fileUrl);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取签到列表
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet("sign-in")]
|
||||||
|
public async Task<List<UserSignInListDto>> GetSignInList()
|
||||||
|
{
|
||||||
|
var list = await _sqlSugar.Queryable<UserSignInList>()
|
||||||
|
.Where(x => x.UId == UId)
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
return list.Adapt<List<UserSignInListDto>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 提交签到
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="list"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost("sign-in")]
|
||||||
|
public async Task SignIn([FromBody] List<UserSignInRecordDto> list)
|
||||||
|
{
|
||||||
|
var entitys = list.Adapt<List<UserSignInRecord>>();
|
||||||
|
entitys.ForEach(x => x.UId = UId);
|
||||||
|
|
||||||
|
await _sqlSugar.Insertable(entitys).ExecuteCommandAsync();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@ using WGShare.Domain.FriendlyException;
|
||||||
using WGShare.Domain.GeneralModel;
|
using WGShare.Domain.GeneralModel;
|
||||||
using Yitter.IdGenerator;
|
using Yitter.IdGenerator;
|
||||||
using WGShare.Domain.Enums;
|
using WGShare.Domain.Enums;
|
||||||
|
using Microsoft.AspNetCore.Routing.Template;
|
||||||
|
using MiniExcelLibs.OpenXml;
|
||||||
|
|
||||||
namespace WGShare.API.Controllers.Frontend
|
namespace WGShare.API.Controllers.Frontend
|
||||||
{
|
{
|
||||||
|
|
@ -115,6 +117,45 @@ namespace WGShare.API.Controllers.Frontend
|
||||||
.UpdateColumns(x => new { x.Account, x.UserName, x.RoleId, x.Year, x.Subject }).ExecuteCommandAsync() > 0;
|
.UpdateColumns(x => new { x.Account, x.UserName, x.RoleId, x.Year, x.Subject }).ExecuteCommandAsync() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取用户签到名单列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="uid"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet("signs")]
|
||||||
|
public async Task<List<UserSignInListDto>> GetUserSignInList([FromQuery] string uid)
|
||||||
|
{
|
||||||
|
var list = await _sqlSugar.Queryable<UserSignInList>().Where(x => x.UId == uid)
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
return list.Adapt<List<UserSignInListDto>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改用户签到列表
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPut("signs")]
|
||||||
|
public async Task ModifySignList([FromQuery] string uid, [FromBody] List<UserSignInListDto> signInList)
|
||||||
|
{
|
||||||
|
var entities = signInList.Adapt<List<UserSignInList>>();
|
||||||
|
|
||||||
|
using (var tran = _sqlSugar.AsTenant().UseTran())
|
||||||
|
{
|
||||||
|
await _sqlSugar.Deleteable<UserSignInList>().Where(x => x.UId == uid).ExecuteCommandAsync();
|
||||||
|
|
||||||
|
if (!entities.IsNullOrEmpty())
|
||||||
|
{
|
||||||
|
var stor = await _sqlSugar.Storageable(entities).ToStorageAsync();
|
||||||
|
await stor.AsInsertable.ExecuteCommandAsync(); //不存在插入
|
||||||
|
await stor.AsUpdateable.UpdateColumns(x => x.SignInName).ExecuteCommandAsync(); //存在更新
|
||||||
|
}
|
||||||
|
tran.CommitTran();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 更改密码
|
/// 更改密码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -245,6 +286,81 @@ namespace WGShare.API.Controllers.Frontend
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取签到绑定列表
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet("signin-list")]
|
||||||
|
public async Task<string> GetSignInBinding()
|
||||||
|
{
|
||||||
|
var userWithSign = await _sqlSugar.Queryable<User>()
|
||||||
|
.InnerJoin<Role>((u, r) => u.RoleId == r.Id)
|
||||||
|
.LeftJoin<UserSignInList>((u, r, s) => u.Id == s.UId)
|
||||||
|
.Where((u, r, s) => u.IsDelete == false && TenantId == u.TenantId)
|
||||||
|
.Select((u, r, s) => new SignInListExcelDto
|
||||||
|
{
|
||||||
|
UId = u.Id,
|
||||||
|
Account = u.Account,
|
||||||
|
RoleId = u.RoleId,
|
||||||
|
RoleName = r.RoleName,
|
||||||
|
SignInName = s.SignInName,
|
||||||
|
UserName = u.UserName,
|
||||||
|
}).ToListAsync();
|
||||||
|
|
||||||
|
var value = new Dictionary<string, object>()
|
||||||
|
{
|
||||||
|
["Users"] = userWithSign
|
||||||
|
};
|
||||||
|
|
||||||
|
using var stream = new MemoryStream();
|
||||||
|
await MiniExcel.SaveAsByTemplateAsync(stream, $@"{AppDomain.CurrentDomain.BaseDirectory}signInListImportTemplate.xlsx", value);
|
||||||
|
stream.Seek(0, SeekOrigin.Begin);
|
||||||
|
var fileName = $@"excel/签到绑定导入-{DateTime.Now.ToString("MMddHHmmss")}.xlsx";
|
||||||
|
_ossHelper.UploadWithExpireTime(fileName, stream, 10);
|
||||||
|
return _ossHelper.GetAccessFileUrl(fileName, 5);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[HttpPost("import/signin-list")]
|
||||||
|
public async Task ImportSigninList([FromForm] IFormFile file)
|
||||||
|
{
|
||||||
|
using var stream = file.OpenReadStream();
|
||||||
|
var rows = stream.Query<SignInListExcelDto>().ToList();
|
||||||
|
rows.RemoveAll(x => x == null || string.IsNullOrWhiteSpace(x.Account) || string.IsNullOrWhiteSpace(x.UId));
|
||||||
|
if (rows.IsNullOrEmpty())
|
||||||
|
{
|
||||||
|
throw Oops.Oh("无有效数据,请检查文件数据!");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取已存在用户Id
|
||||||
|
var existsUIds = await _sqlSugar.Queryable<User>()
|
||||||
|
.Where(x => x.IsDelete == false).Select(x => x.Id).ToListAsync();
|
||||||
|
// 去除不存在用户Id
|
||||||
|
rows.RemoveAll(x => !existsUIds.Contains(x.UId));
|
||||||
|
|
||||||
|
var delUids = rows.Select(x => x.UId).Distinct().ToList();
|
||||||
|
|
||||||
|
|
||||||
|
var entities = rows.Where(x => !string.IsNullOrWhiteSpace(x.SignInName)).Adapt<List<UserSignInList>>();
|
||||||
|
|
||||||
|
using (var tran = _sqlSugar.AsTenant().UseTran())
|
||||||
|
{
|
||||||
|
await _sqlSugar.Deleteable<UserSignInList>().Where(x => delUids.Contains(x.UId)).ExecuteCommandAsync();
|
||||||
|
|
||||||
|
var store = await _sqlSugar.Storageable(entities)
|
||||||
|
.WhereColumns(x => new { x.UId, x.SignInName })
|
||||||
|
.ToStorageAsync();
|
||||||
|
|
||||||
|
|
||||||
|
await store.AsInsertable.ExecuteCommandAsync();
|
||||||
|
await store.AsUpdateable.UpdateColumns(x => x.SignInName).ExecuteCommandHasChangeAsync();
|
||||||
|
|
||||||
|
tran.CommitTran();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,9 @@
|
||||||
<None Update="Reference\AgoraIO.dll">
|
<None Update="Reference\AgoraIO.dll">
|
||||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
|
<None Update="signInListImportTemplate.xlsx">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
<None Update="WGShare.API.xml">
|
<None Update="WGShare.API.xml">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
|
|
|
||||||
|
|
@ -303,6 +303,19 @@
|
||||||
<param name="fileId">文件Id</param>
|
<param name="fileId">文件Id</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:WGShare.API.Controllers.Frontend.RoomController.GetSignInList">
|
||||||
|
<summary>
|
||||||
|
获取签到列表
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:WGShare.API.Controllers.Frontend.RoomController.SignIn(System.Collections.Generic.List{WGShare.Domain.DTOs.User.UserSignInRecordDto})">
|
||||||
|
<summary>
|
||||||
|
提交签到
|
||||||
|
</summary>
|
||||||
|
<param name="list"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:WGShare.API.Controllers.Frontend.UserController.GetUserList(System.String,System.Nullable{System.Boolean},WGShare.Domain.GeneralModel.PagedBaseDto)">
|
<member name="M:WGShare.API.Controllers.Frontend.UserController.GetUserList(System.String,System.Nullable{System.Boolean},WGShare.Domain.GeneralModel.PagedBaseDto)">
|
||||||
<summary>
|
<summary>
|
||||||
获取用户列表
|
获取用户列表
|
||||||
|
|
@ -325,6 +338,19 @@
|
||||||
<param name="inputDTO"></param>
|
<param name="inputDTO"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:WGShare.API.Controllers.Frontend.UserController.GetUserSignInList(System.String)">
|
||||||
|
<summary>
|
||||||
|
获取用户签到名单列表
|
||||||
|
</summary>
|
||||||
|
<param name="uid"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:WGShare.API.Controllers.Frontend.UserController.ModifySignList(System.String,System.Collections.Generic.List{WGShare.Domain.DTOs.User.UserSignInListDto})">
|
||||||
|
<summary>
|
||||||
|
修改用户签到列表
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:WGShare.API.Controllers.Frontend.UserController.ModifyPassword(WGShare.Domain.DTOs.User.UserChangePwdDTO)">
|
<member name="M:WGShare.API.Controllers.Frontend.UserController.ModifyPassword(WGShare.Domain.DTOs.User.UserChangePwdDTO)">
|
||||||
<summary>
|
<summary>
|
||||||
更改密码
|
更改密码
|
||||||
|
|
@ -353,6 +379,12 @@
|
||||||
<param name="file"></param>
|
<param name="file"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:WGShare.API.Controllers.Frontend.UserController.GetSignInBinding">
|
||||||
|
<summary>
|
||||||
|
获取签到绑定列表
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="T:WGShare.API.Controllers.PublicController">
|
<member name="T:WGShare.API.Controllers.PublicController">
|
||||||
<summary>
|
<summary>
|
||||||
前后端共用接口
|
前后端共用接口
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,4 +1,5 @@
|
||||||
using System;
|
using MiniExcelLibs.Attributes;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
@ -15,6 +16,8 @@ namespace WGShare.Domain.DTOs.Room
|
||||||
public string EndTime { get; set; }
|
public string EndTime { get; set; }
|
||||||
|
|
||||||
public List<UserBehavior> Users { get; set; }
|
public List<UserBehavior> Users { get; set; }
|
||||||
|
|
||||||
|
public List<SignInListRecordExcelDto> Signin { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class UserBehavior
|
public class UserBehavior
|
||||||
|
|
@ -27,4 +30,15 @@ namespace WGShare.Domain.DTOs.Room
|
||||||
public int JoinCount { get; set; }
|
public int JoinCount { get; set; }
|
||||||
public int SumTime { get; set; }
|
public int SumTime { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class SignInListRecordExcelDto
|
||||||
|
{
|
||||||
|
|
||||||
|
public string Account { get; set; }
|
||||||
|
|
||||||
|
public string UserName { get; set; }
|
||||||
|
|
||||||
|
public string SignInTime { get; set; }
|
||||||
|
public string SignInName { get; set; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
using MiniExcelLibs.Attributes;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace WGShare.Domain.DTOs.User
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 导出账号签到用户列表
|
||||||
|
/// </summary>
|
||||||
|
public class SignInListExcelDto
|
||||||
|
{
|
||||||
|
|
||||||
|
[ExcelColumnName("UId")]
|
||||||
|
public string UId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
[ExcelColumnName("账号")]
|
||||||
|
public string Account { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumnName("账号名称")]
|
||||||
|
public string UserName{ get; set; }
|
||||||
|
|
||||||
|
public string RoleId { get; set; }
|
||||||
|
[ExcelColumnName("角色")]
|
||||||
|
public string RoleName { get; set; }
|
||||||
|
[ExcelColumnName("绑定签到人姓名")]
|
||||||
|
|
||||||
|
public string SignInName { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
using MiniExcelLibs.Attributes;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace WGShare.Domain.DTOs.User
|
||||||
|
{
|
||||||
|
public class UserSignInListDto
|
||||||
|
{
|
||||||
|
|
||||||
|
public string Id { get; set; }
|
||||||
|
public string UId { get; set; }
|
||||||
|
|
||||||
|
public string SignInName { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
using SqlSugar;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace WGShare.Domain.DTOs.User
|
||||||
|
{
|
||||||
|
public class UserSignInRecordDto
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
public string SignInName { get; set; }
|
||||||
|
|
||||||
|
public string RoomNum { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
using AngleSharp.Text;
|
||||||
|
using SqlSugar;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace WGShare.Domain.Entities
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 签到名单
|
||||||
|
///</summary>
|
||||||
|
[SugarTable("user_signin_list")]
|
||||||
|
public class UserSignInList
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
///</summary>
|
||||||
|
[SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)]
|
||||||
|
public string Id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
///</summary>
|
||||||
|
[SugarColumn(ColumnName = "uid")]
|
||||||
|
public string UId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
[SugarColumn(ColumnName = "signin_name")]
|
||||||
|
public string SignInName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// 默认值: CURRENT_TIMESTAMP
|
||||||
|
///</summary>
|
||||||
|
[SugarColumn(ColumnName = "create_time", IsOnlyIgnoreInsert = true, IsOnlyIgnoreUpdate = true)]
|
||||||
|
public DateTime CreateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改时间
|
||||||
|
///</summary>
|
||||||
|
[SugarColumn(ColumnName = "modify_time", IsOnlyIgnoreInsert = true, IsOnlyIgnoreUpdate = true)]
|
||||||
|
public DateTime ModifyTime { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
using AngleSharp.Text;
|
||||||
|
using SqlSugar;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace WGShare.Domain.Entities
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 签到名单记录
|
||||||
|
///</summary>
|
||||||
|
[SugarTable("user_signin_record")]
|
||||||
|
public class UserSignInRecord
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
///</summary>
|
||||||
|
[SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)]
|
||||||
|
public string Id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
///</summary>
|
||||||
|
[SugarColumn(ColumnName = "uid")]
|
||||||
|
public string UId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
[SugarColumn(ColumnName = "signin_name")]
|
||||||
|
public string SignInName { get; set; }
|
||||||
|
|
||||||
|
[SugarColumn(ColumnName = "room_num")]
|
||||||
|
public string RoomNum { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// 默认值: CURRENT_TIMESTAMP
|
||||||
|
///</summary>
|
||||||
|
[SugarColumn(ColumnName = "create_time", IsOnlyIgnoreInsert = true, IsOnlyIgnoreUpdate = true)]
|
||||||
|
public DateTime CreateTime { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue