这里基类Service层主要处理逻辑部分,而具体的构建精确的查询处理条件,下放在了每个具体业务Service类中进行处理了 。
UserService是具体对应的业务类的逻辑处理层,该类的定义方法如下所示 。
/// <summary>/// 应用层服务接口实现/// </summary>public class UserService : MyCrudService<UserInfo, int, UserPagedDto>, IUserService下放在UserService这个具体业务的Service类中的查询处理逻辑,这部分通过代码生成工具生成即可 。
/// <summary>/// 自定义条件处理/// </summary>/// <param name="input">查询条件Dto</param>/// <returns></returns>protected override ISugarQueryable<UserInfo> CreateFilteredQueryAsync(UserPagedDto input){var query = base.CreateFilteredQueryAsync(input);query = query.WhereIF(input.ExcludeId.HasValue, t => t.Id != input.ExcludeId) //不包含排除ID.WhereIF(input.PID.HasValue, s => s.PID == input.PID).WhereIF(!input.HandNo.IsNullOrWhiteSpace(), t => t.HandNo.Contains(input.HandNo)) //如需要精确匹配则用Equals.WhereIF(!input.Name.IsNullOrWhiteSpace(), t => t.Name.Contains(input.Name)) //如需要精确匹配则用Equals.WhereIF(!input.FullName.IsNullOrWhiteSpace(), t => t.FullName.Contains(input.FullName)) //如需要精确匹配则用Equals.WhereIF(!input.Nickname.IsNullOrWhiteSpace(), t => t.Nickname.Contains(input.Nickname)) //如需要精确匹配则用Equals.WhereIF(input.IsExpire.HasValue, t => t.IsExpire == input.IsExpire) //如需要精确匹配则用Equals//过期时间区间查询.WhereIF(input.ExpireDateStart.HasValue, s => s.ExpireDate >= input.ExpireDateStart.Value).WhereIF(input.ExpireDateEnd.HasValue, s => s.ExpireDate <= input.ExpireDateEnd.Value)
经验总结扩展阅读
- 温柔个性小众签名很绝 你是我的小众喜好
- 比较冷古风的个性签名 清冷孤傲古风签名
- 会念念不忘的签名短句 会一见倾心的签名
- 一眼惊鸿的八字微信签名 八字签名句句封神
- 随性且简短的签名 独特而有个性的签名
- 不吵不闹看透一切的句子 全靠死撑的心酸句子
- 奥运会的知识
- 回忆曾经的青春岁月 发朋友圈怀念青春的句子
- 暗示对婆家失望心寒的句子 女人心寒到极致的说说
- 女人没有依靠的心酸句子 女人心里憋屈的说说