PlateJurisdictionModelsService.cs 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. using System;
  2. using System.Linq;
  3. using System.Text;
  4. using System.Data.Common;
  5. using System.Linq.Expressions;
  6. using System.Collections.Generic;
  7. using System.Threading.Tasks;
  8. using YiSha.Util;
  9. using YiSha.Util.Extension;
  10. using YiSha.Util.Model;
  11. using YiSha.Data;
  12. using YiSha.Data.Repository;
  13. using YiSha.Enum;
  14. using System.ComponentModel.DataAnnotations.Schema;
  15. using YiSha.Entity.TK;
  16. using YiSha.Model.Param.TK;
  17. using YiSha.IService.TK;
  18. namespace YiSha.Service.TK
  19. {
  20. /// <summary>
  21. /// 创 建:cmzx
  22. /// 日 期:2021-04-21 15:53
  23. /// 描 述:图库板块权限管理服务实现类
  24. /// </summary>
  25. public partial class PlateJurisdictionModelsService : IPlateJurisdictionModelsService
  26. {
  27. private DBConnectTypeEnum dbConnectType = DBConnectTypeEnum.TkDB;
  28. #region 获取数据
  29. /// <summary>
  30. /// 获取列表数据
  31. /// </summary>
  32. /// <param name="param">请求参数</param>
  33. /// <returns></returns>
  34. public async Task<List<PlateJurisdictionModelsEntity>> GetList(PlateJurisdictionModelsListParam param)
  35. {
  36. var expression = ListFilterPartial(param);
  37. var list = await _baseRepository.BaseRepository(dbConnectType).FindList(expression);
  38. return list.ToList();
  39. }
  40. /// <summary>
  41. /// 获取分页数据
  42. /// </summary>
  43. /// <param name="param">请求参数</param>
  44. /// <param name="pagination">分页条件</param>
  45. /// <returns></returns>
  46. public async Task<List<PlateJurisdictionModelsEntity>> GetPageList(PlateJurisdictionModelsListParam param, Pagination pagination)
  47. {
  48. var expression = ListFilterPartial(param);
  49. var list = await _baseRepository.BaseRepository(dbConnectType).FindList(expression, pagination);
  50. return list.ToList();
  51. }
  52. /// <summary>
  53. /// 获取指定列数据
  54. /// </summary>
  55. /// <param name="column">表字段列</param>
  56. /// <param name="where">条件</param>
  57. /// <param name="parameters">条件参数</param>
  58. /// <param name="sort">排序列</param>
  59. /// <param name="sortType">排序类型</param>
  60. /// <returns></returns>
  61. public async Task<List<PlateJurisdictionModelsEntity>> GetListColumn(string column, string where, List<DbParameter> parameters, string groupBy = "", string sort = "basecreatetime", string sortType = "desc")
  62. {
  63. if (string.IsNullOrEmpty(column) || string.IsNullOrEmpty(where))
  64. return new List<PlateJurisdictionModelsEntity>();
  65. if (!string.IsNullOrEmpty(groupBy))
  66. groupBy = $" group by {groupBy} ";
  67. string tableName = typeof(PlateJurisdictionModelsEntity).GetAttributeValue((TableAttribute ta) => ta.Name);
  68. string selectSql = $"select {column} from {tableName} where 1 = 1 and {where} {groupBy} order by {sort} {sortType}";
  69. var result = await _baseRepository.BaseRepository(dbConnectType).FindList<PlateJurisdictionModelsEntity>(selectSql, DbParameterExtension.ToDbParameter(parameters.ToArray()));
  70. return result.ToList();
  71. }
  72. /// <summary>
  73. /// 根据主键Id获取数据
  74. /// </summary>
  75. /// <param name="id">主键id</param>
  76. /// <returns></returns>
  77. public async Task<PlateJurisdictionModelsEntity> GetEntity(int id)
  78. {
  79. return await _baseRepository.BaseRepository(dbConnectType).FindEntity<PlateJurisdictionModelsEntity>(id);
  80. }
  81. #endregion
  82. #region 提交数据
  83. /// <summary>
  84. /// 保存数据
  85. /// </summary>
  86. /// <param name="entity">实体参数</param>
  87. /// <returns></returns>
  88. public async Task SaveForm(PlateJurisdictionModelsEntity entity)
  89. {
  90. if (entity.Id.IsNullOrZero())
  91. {
  92. entity.Create();
  93. await _baseRepository.BaseRepository(dbConnectType).Insert(entity);
  94. }
  95. else
  96. {
  97. await _baseRepository.BaseRepository(dbConnectType).Update(entity);
  98. }
  99. }
  100. /// <summary>
  101. /// 保存多条数据
  102. /// </summary>
  103. /// <param name="list">数据列表</param>
  104. /// <returns></returns>
  105. public async Task<int> InsertMany(List<PlateJurisdictionModelsEntity> list)
  106. {
  107. return await _baseRepository.BaseRepository(dbConnectType).Insert(list);
  108. }
  109. /// <summary>
  110. /// 根据主键Id删除数据
  111. /// </summary>
  112. /// <param name="ids">主键Id</param>
  113. /// <param name="del">是否真删除 true真删除 false软删除 默认false</param>
  114. /// <returns></returns>
  115. public async Task<int> DeleteFormById(string ids, bool del = false)
  116. {
  117. if (string.IsNullOrWhiteSpace(ids) || !ids.Split(", ").Any())
  118. {
  119. return await Task.FromResult(-1);
  120. }
  121. ids = $"{ string.Join(",", ids.Split(","))}";
  122. string tableName = typeof(PlateJurisdictionModelsEntity).GetAttributeValue((TableAttribute ta) => ta.Name);
  123. List<DbParameter> parameters = new List<DbParameter>();
  124. string deleteSql = $"delete from {tableName} where id in ({ids})";
  125. return await _baseRepository.BaseRepository(dbConnectType).ExecuteBySql(deleteSql, DbParameterExtension.ToDbParameter(parameters.ToArray()));
  126. }
  127. /// <summary>
  128. /// 根据条件删除数据
  129. /// </summary>
  130. /// <param name="where">where条件</param>
  131. /// <param name="parameters">参数</param>
  132. /// <param name="del">是否真删除 true真删除 false软删除 默认false</param>
  133. /// <returns></returns>
  134. public async Task<int> DeleteFormByWhere(string where, List<DbParameter> parameters, bool del = false)
  135. {
  136. if (string.IsNullOrWhiteSpace(where))
  137. {
  138. return await Task.FromResult(-1);
  139. }
  140. string tableName = typeof(PlateJurisdictionModelsEntity).GetAttributeValue((TableAttribute ta) => ta.Name);
  141. string deleteSql = $"delete from {tableName} where {where}";
  142. return await _baseRepository.BaseRepository(dbConnectType).ExecuteBySql(deleteSql, DbParameterExtension.ToDbParameter(parameters.ToArray()));
  143. }
  144. /// <summary>
  145. /// 修改多条数据
  146. /// </summary>
  147. /// <param name="list">数据列表</param>
  148. /// <returns></returns>
  149. public async Task<int> UpdateMany(List<PlateJurisdictionModelsEntity> list)
  150. {
  151. return await _baseRepository.BaseRepository(dbConnectType).Update(list);
  152. }
  153. /// <summary>
  154. /// 根据条件修改数据
  155. /// </summary>
  156. /// <param name="setField">修改字段</param>
  157. /// <param name="where">where条件</param>
  158. /// <param name="parameters">参数</param>
  159. /// <returns></returns>
  160. public async Task<int> UpdateFormByWhere(string setField, string where, List<DbParameter> parameters)
  161. {
  162. if (string.IsNullOrWhiteSpace(setField) || string.IsNullOrWhiteSpace(where))
  163. {
  164. return await Task.FromResult(-1);
  165. }
  166. string tableName = typeof(PlateJurisdictionModelsEntity).GetAttributeValue((TableAttribute ta) => ta.Name);
  167. string updateSql = $"update {tableName} set {setField} where {where}";
  168. return await _baseRepository.BaseRepository(dbConnectType).ExecuteBySql(updateSql, DbParameterExtension.ToDbParameter(parameters.ToArray()));
  169. }
  170. #endregion
  171. #region 私有方法
  172. ///// <summary>
  173. ///// 列表条件过滤
  174. ///// 建议该方法放在Partial部分类中,因为代码生成时当前类会被覆盖(该方法在生成时将会被注释)
  175. ///// </summary>
  176. ///// <param name="param"></param>
  177. ///// <returns></returns>
  178. //private Expression<Func<PlateJurisdictionModelsEntity, bool>> ListFilter(PlateJurisdictionModelsListParam param)
  179. //{
  180. // var expression = LinqExtensions.True<PlateJurisdictionModelsEntity>();
  181. // expression = expression.And(t => t.BaseIsDelete == (int)IsDeleteEnum.No);
  182. // if (param != null)
  183. // {
  184. // }
  185. // return expression;
  186. //}
  187. #endregion
  188. }
  189. }