using Infrastructure.Attribute; using SqlSugar; using System.Collections.Generic; using System.Linq; using ZR.Model; using ZR.Model.Dto; using ZR.Model.Models; using ZR.Repository; using ZR.Service.System.ISystemService; namespace ZR.Service.System { /// /// 多语言配置Service业务层处理 /// /// @author zr /// @date 2022-05-06 /// [AppService(ServiceType = typeof(ICommonLangService), ServiceLifetime = LifeTime.Transient)] public class CommonLangService : BaseService, ICommonLangService { private readonly CommonLangRepository _CommonLangrepository; public CommonLangService(CommonLangRepository repository) { _CommonLangrepository = repository; } #region 业务逻辑代码 /// /// 查询多语言配置列表 /// /// /// public PagedInfo GetList(CommonLangQueryDto parm) { //开始拼装查询条件 var predicate = Expressionable.Create(); //搜索条件查询语法参考Sqlsugar predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.LangCode), it => it.LangCode == parm.LangCode); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.LangKey), it => it.LangKey.Contains(parm.LangKey)); //predicate = predicate.AndIF(parm.BeginAddtime == null, it => it.Addtime >= DateTime.Now.AddDays(-1)); predicate = predicate.AndIF(parm.BeginAddtime != null, it => it.Addtime >= parm.BeginAddtime && it.Addtime <= parm.EndAddtime); var response = _CommonLangrepository .Queryable() .Where(predicate.ToExpression()) .ToPage(parm); return response; } /// /// 行转列 /// /// /// public dynamic GetListToPivot(CommonLangQueryDto parm) { //开始拼装查询条件 var predicate = Expressionable.Create(); //搜索条件查询语法参考Sqlsugar predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.LangCode), it => it.LangCode == parm.LangCode); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.LangKey), it => it.LangKey.Contains(parm.LangKey)); //predicate = predicate.AndIF(parm.BeginAddtime == null, it => it.Addtime >= DateTime.Now.AddDays(-1)); predicate = predicate.AndIF(parm.BeginAddtime != null, it => it.Addtime >= parm.BeginAddtime && it.Addtime <= parm.EndAddtime); var response = _CommonLangrepository .Queryable() .Where(predicate.ToExpression()) .ToPivotList(it => it.LangCode, it => it.LangKey, it => it.Max(f => f.LangName)); return response; } public List GetLangList(CommonLangQueryDto parm) { //开始拼装查询条件 var predicate = Expressionable.Create(); //搜索条件查询语法参考Sqlsugar predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.LangCode), it => it.LangCode == parm.LangCode); //predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.LangKey), it => it.LangKey.Contains(parm.LangKey)); //predicate = predicate.AndIF(parm.BeginAddtime == null, it => it.Addtime >= DateTime.Now.AddDays(-1)); //predicate = predicate.AndIF(parm.BeginAddtime != null, it => it.Addtime >= parm.BeginAddtime && it.Addtime <= parm.EndAddtime); var response = _CommonLangrepository .Queryable() .Where(predicate.ToExpression()) .ToList(); return response; } #endregion } }