ZrAdminNetCore/ZR.Service/Liveforum/T_UsersService.cs
2025-11-16 14:06:41 +08:00

106 lines
3.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Infrastructure.Attribute;
using Infrastructure.Extensions;
using ZR.LiveForum.Model.Liveforum.Dto;
using ZR.LiveForum.Model.Liveforum;
using ZR.Repository;
using ZR.Service.Liveforum.ILiveforumService;
namespace ZR.Service.Liveforum
{
/// <summary>
/// 用户表存储用户基本信息移除登录相关字段Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IT_UsersService), ServiceLifetime = LifeTime.Transient)]
public class T_UsersService : BaseService<T_Users>, IT_UsersService
{
/// <summary>
/// 查询用户表,存储用户基本信息(移除登录相关字段)列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<T_UsersDto> GetList(T_UsersQueryDto parm)
{
var predicate = QueryExp(parm);
var response = Queryable()
//.OrderBy("Id desc")
.Where(predicate.ToExpression())
.ToPage<T_Users, T_UsersDto>(parm);
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public T_Users GetInfo(long Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加用户表,存储用户基本信息(移除登录相关字段)
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public T_Users AddT_Users(T_Users model)
{
return Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改用户表,存储用户基本信息(移除登录相关字段)
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateT_Users(T_Users model)
{
return Update(model, true, "修改用户表,存储用户基本信息(移除登录相关字段)");
}
/// <summary>
/// 导出用户表,存储用户基本信息(移除登录相关字段)
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<T_UsersDto> ExportList(T_UsersQueryDto parm)
{
parm.PageNum = 1;
parm.PageSize = 100000;
var predicate = QueryExp(parm);
var response = Queryable()
.Where(predicate.ToExpression())
.Select((it) => new T_UsersDto()
{
GenderLabel = it.Gender.GetConfigValue<Model.System.SysDictData>("liveforum_user_gender"),
CertifiedTypeLabel = it.CertifiedType.GetConfigValue<Model.System.SysDictData>("liveforum_sk"),
StatusLabel = it.Status.GetConfigValue<Model.System.SysDictData>("liveforum_user_status"),
}, true)
.ToPage(parm);
return response;
}
/// <summary>
/// 查询导出表达式
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
private static Expressionable<T_Users> QueryExp(T_UsersQueryDto parm)
{
var predicate = Expressionable.Create<T_Users>();
predicate = predicate.AndIF(parm.Id != null, it => it.Id == parm.Id);
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.NickName), it => it.NickName.Contains(parm.NickName));
return predicate;
}
}
}