TplService.txt 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. using System;
  2. using SqlSugar;
  3. using Infrastructure.Attribute;
  4. using ${options.ModelsNamespace};
  5. using ${options.ModelsNamespace}.Dto;
  6. using ${options.ModelsNamespace}.Models;
  7. using ${options.IRepositoriesNamespace};
  8. using ${options.IServicsNamespace}.${options.SubNamespace}.I${options.SubNamespace}Service;
  9. using System.Linq;
  10. $if(genTable.TplCategory == "tree")
  11. using System.Collections.Generic;
  12. $end
  13. namespace ${options.ServicesNamespace}.${options.SubNamespace}
  14. {
  15. /// <summary>
  16. /// ${genTable.FunctionName}Service业务层处理
  17. ///
  18. /// @author ${replaceDto.Author}
  19. /// @date ${replaceDto.AddTime}
  20. /// </summary>
  21. [AppService(ServiceType = typeof(I${replaceDto.ModelTypeName}Service), ServiceLifetime = LifeTime.Transient)]
  22. public class ${replaceDto.ModelTypeName}Service : BaseService<${replaceDto.ModelTypeName}>, I${replaceDto.ModelTypeName}Service
  23. {
  24. #region 业务逻辑代码
  25. /// <summary>
  26. /// 查询${genTable.FunctionName}列表
  27. /// </summary>
  28. /// <param name="parm"></param>
  29. /// <returns></returns>
  30. public PagedInfo<${replaceDto.ModelTypeName}Dto> GetList(${replaceDto.ModelTypeName}QueryDto parm)
  31. {
  32. //开始拼装查询条件
  33. var predicate = Expressionable.Create<${replaceDto.ModelTypeName}>();
  34. //搜索条件查询语法参考Sqlsugar
  35. $foreach(column in genTable.Columns)
  36. $if(column.IsQuery)
  37. $if(column.HtmlType == "selectMulti")
  38. predicate = predicate.AndIF(parm.${column.CsharpField} != null, it => parm.${column.CsharpField}.Contains(it.${column.CsharpField}));
  39. $elseif(column.CsharpType == "string")
  40. predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.${column.CsharpField}), ${codeTool.QueryExp(column.CsharpField, column.QueryType)};
  41. $elseif(column.CsharpType == "DateTime")
  42. predicate = predicate.AndIF(parm.Begin${column.CsharpField} == null, it => it.${column.CsharpField} >= DateTime.Now.AddDays(-1));
  43. predicate = predicate.AndIF(parm.Begin${column.CsharpField} != null, it => it.${column.CsharpField} >= parm.Begin${column.CsharpField} && it.${column.CsharpField} <= parm.End${column.CsharpField});
  44. $elseif(column.CsharpType == "int" || column.CsharpType == "long")
  45. predicate = predicate.AndIF(parm.${column.CsharpField} != null, ${codeTool.QueryExp(column.CsharpField, column.QueryType)};
  46. $end
  47. $end
  48. $end
  49. var response = Queryable()
  50. $if(null != genTable.SubTableName && "" != genTable.SubTableName)
  51. .Includes(it => it.${genTable.SubTable.ClassName}.MappingField(z => z.${genTable.SubTableFkName}, () => it.${replaceDto.PKName}))
  52. $end
  53. $if(genTable.Options.SortField != "" && genTable.Options.SortField != null)
  54. //.OrderBy("${genTable.Options.SortField} ${genTable.Options.SortType}")
  55. $end
  56. .Where(predicate.ToExpression())
  57. .ToPage<${replaceDto.ModelTypeName}, ${replaceDto.ModelTypeName}Dto>(parm);
  58. return response;
  59. }
  60. $if(genTable.TplCategory == "tree")
  61. /// <summary>
  62. /// 查询${genTable.FunctionName}树列表
  63. /// </summary>
  64. /// <param name="parm"></param>
  65. /// <returns></returns>
  66. public List<${replaceDto.ModelTypeName}> GetTreeList(${replaceDto.ModelTypeName}QueryDto parm)
  67. {
  68. //开始拼装查询条件
  69. var predicate = Expressionable.Create<${replaceDto.ModelTypeName}>();
  70. //搜索条件查询语法参考Sqlsugar
  71. $foreach(column in genTable.Columns)
  72. $if(column.IsQuery)
  73. $if(column.CsharpType == "string")
  74. predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.${column.CsharpField}), ${codeTool.QueryExp(column.CsharpField, column.QueryType)};
  75. $elseif(column.CsharpType == "int" || column.CsharpType == "long")
  76. predicate = predicate.AndIF(parm.${column.CsharpField} != null, ${codeTool.QueryExp(column.CsharpField, column.QueryType)};
  77. $end
  78. $end
  79. $end
  80. var response = Queryable()
  81. .Where(predicate.ToExpression())
  82. .ToTree(it => it.Children, it => it.${genTable.Options.TreeParentCode}, 0);
  83. return response;
  84. }
  85. $end
  86. /// <summary>
  87. /// 添加${genTable.FunctionName}
  88. /// </summary>
  89. /// <param name="model"></param>
  90. /// <returns></returns>
  91. public int Add${replaceDto.ModelTypeName}(${replaceDto.ModelTypeName} model)
  92. {
  93. return Add(model, true);
  94. }
  95. /// <summary>
  96. /// 修改${genTable.FunctionName}
  97. /// </summary>
  98. /// <param name="model"></param>
  99. /// <returns></returns>
  100. public int Update${replaceDto.ModelTypeName}(${replaceDto.ModelTypeName} model)
  101. {
  102. //var response = Update(w => w.${replaceDto.PKName} == model.${replaceDto.PKName}, it => new ${replaceDto.ModelTypeName}()
  103. //{
  104. $foreach(item in genTable.Columns)
  105. $if((item.IsEdit))
  106. // $item.CsharpField = model.$item.CsharpField,
  107. $end
  108. ${end}
  109. //});
  110. //return response;
  111. return Update(model, true);
  112. }
  113. /// <summary>
  114. /// 清空${genTable.FunctionName}
  115. /// </summary>
  116. /// <returns></returns>
  117. public void Truncate${replaceDto.ModelTypeName}()
  118. {
  119. Truncate();
  120. }
  121. #endregion
  122. }
  123. }