using Furion;
|
using SqlSugar;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Security.Claims;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace cylsg.Core
|
{
|
/// <summary>
|
/// 仓储类,使用方式只需要继承就行
|
/// </summary>
|
/// <typeparam name="T"></typeparam>
|
public class BaseRepository<T> : SimpleClient<T> where T : class, new()
|
{
|
|
|
public BaseRepository(ISqlSugarClient context = null) : base(context)//默认值等于null不能少
|
{
|
base.Context = App.GetService<ISqlSugarClient>();//用手动获取方式支持切换仓储
|
|
}
|
/// <summary>
|
/// 重写更新方法
|
/// </summary>
|
/// <param name="updateObj"></param>
|
/// <returns></returns>
|
public Task<bool> EzUpdateAsync(T updateObj)
|
{
|
|
var intbs = updateObj as BaseModelBase;
|
if (intbs != null)
|
{
|
intbs.UpDataBy = GetJwtBy();
|
intbs.UpDataTime = DateTime.Now;
|
}
|
return base.UpdateAsync(updateObj);
|
}
|
/// <summary>
|
/// 异步插入
|
/// </summary>
|
/// <param name="insertObj"></param>
|
/// <returns></returns>
|
public Task<bool> EzInsertAsync(T insertObj)
|
{
|
var intbs = insertObj as BaseModelBase;
|
if (intbs != null)
|
{
|
intbs.CreateBy = GetJwtBy();
|
intbs.CreateTime = DateTime.Now;
|
}
|
|
return base.InsertAsync(insertObj);
|
}
|
/// <summary>
|
/// 重写插入
|
/// </summary>
|
/// <param name="insertObj"></param>
|
/// <returns></returns>
|
public T EzInsertReturnEntity(T insertObj)
|
{
|
var intbs = insertObj as BaseModelBase;
|
if (intbs != null)
|
{
|
intbs.CreateBy = GetJwtBy();
|
intbs.CreateTime = DateTime.Now;
|
}
|
return base.InsertReturnEntity(insertObj);
|
}
|
|
/// <summary>
|
/// 异步插入
|
/// </summary>
|
/// <param name="insertObj"></param>
|
/// <returns></returns>
|
public Task<int> EzInsertReturnIdentityAsync(T insertObj)
|
{
|
|
var intbs = insertObj as BaseModelBase;
|
if (intbs != null)
|
{
|
intbs.CreateBy = GetJwtBy();
|
intbs.CreateTime = DateTime.Now;
|
}
|
return base.InsertReturnIdentityAsync(insertObj);
|
}
|
/// <summary>
|
/// 获取用户姓名和ID
|
/// </summary>
|
/// <returns></returns>
|
private string GetJwtBy()
|
{
|
return (App.User?.FindFirstValue("UserID") ?? "") + "|" + (App.User?.FindFirstValue("NickName") ?? "系统自主处理");
|
}
|
}
|
}
|