PlateJurisdictionModelsService.cs 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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. using YiSha.Enum.ZX;
  19. using YiSha.Web.Code;
  20. namespace YiSha.Service.TK
  21. {
  22. /// <summary>
  23. /// 创 建:cmzx
  24. /// 日 期:2021-04-21 15:53
  25. /// 描 述:图库板块权限管理服务实现类(部分类)
  26. /// </summary>
  27. public partial class PlateJurisdictionModelsService
  28. {
  29. private IRepositoryFactory _baseRepository;
  30. public PlateJurisdictionModelsService(IRepositoryFactory baseRepository)
  31. {
  32. _baseRepository = baseRepository;
  33. }
  34. /// <summary>
  35. /// 保存数据
  36. /// </summary>
  37. /// <param name="entity">实体参数</param>
  38. /// <returns></returns>
  39. public async Task<int> SaveFormPartial(SavePlateJurisdictionModelsParam entity)
  40. {
  41. var result = 1;
  42. var insertList = new List<PlateJurisdictionModelsEntity>();
  43. OperatorInfo user = await Operator.Instance.Current(entity.Token);
  44. entity.GalleryIdList.ForEach(item =>
  45. {
  46. insertList.Add(new PlateJurisdictionModelsEntity
  47. {
  48. createTime = DateTime.Now,
  49. createUserId = user?.UserId,
  50. createUserName = user?.UserName,
  51. galleryId = item,
  52. isDelete = false,
  53. sortNo = 1,
  54. UserId = entity.UserId,
  55. UserName = entity.UserName
  56. });
  57. });
  58. var deleteList = await _baseRepository.BaseRepository(dbConnectType).FindList<PlateJurisdictionModelsEntity>(d => d.UserId == entity.UserId && d.isDelete == false);
  59. //开启事务
  60. var db = await _baseRepository.BaseRepository(dbConnectType).BeginTrans();
  61. try
  62. {
  63. await db.Delete(deleteList.ToList());
  64. await db.Insert(insertList);
  65. await db.CommitTrans();
  66. }
  67. catch
  68. {
  69. result = -1;
  70. await db.RollbackTrans();
  71. }
  72. return result;
  73. }
  74. /// <summary>
  75. /// 获取当前用户图库板块权限
  76. /// </summary>
  77. /// <returns></returns>
  78. public async Task<List<GalleryManagerModelsEntity>> GetUserPlateJurisdictionAuthority()
  79. {
  80. OperatorInfo user = await Operator.Instance.Current(null);
  81. var sql = @"select
  82. gmm.ID as Id,
  83. gmm.galleryName
  84. from PlateJurisdictionModels pjm
  85. inner join galleryManagerModels gmm on pjm.galleryId = gmm.id
  86. where pjm.UserId = @UserId";
  87. var param = new List<DbParameter>();
  88. param.Add(DbParameterExtension.CreateDbParameter("@UserId", user?.UserId, dbConnectType));
  89. var result = await _baseRepository.BaseRepository(dbConnectType).FindList<GalleryManagerModelsEntity>(sql, param.ToArray());
  90. return result.ToList();
  91. }
  92. #region 私有方法
  93. /// <summary>
  94. /// 列表条件过滤
  95. /// 建议该方法放在Partial部分类中,因为代码生成时当前类会被覆盖(该方法在生成时将会被注释)
  96. /// </summary>
  97. /// <param name="param"></param>
  98. /// <returns></returns>
  99. private Expression<Func<PlateJurisdictionModelsEntity, bool>> ListFilterPartial(PlateJurisdictionModelsListParam param)
  100. {
  101. var expression = LinqExtensions.True<PlateJurisdictionModelsEntity>();
  102. expression = expression.And(d => d.isDelete == false);
  103. if (param != null)
  104. {
  105. if (param.UserId != null)
  106. expression = expression.And(d => d.UserId == param.UserId);
  107. }
  108. return expression;
  109. }
  110. #endregion
  111. }
  112. }