GetUserPowerExcutor.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data.SqlClient;
  4. using System.Linq;
  5. using System.Text;
  6. using JLHHJSvr.BLL;
  7. using JLHHJSvr.Com;
  8. using JLHHJSvr.Com.Model;
  9. using LJLib.Net.SPI.Server;
  10. using LJLib.SQLEX;
  11. namespace JLHHJSvr.Excutor
  12. {
  13. internal sealed class GetUserPowerExcutor : ExcutorBase<GetUserPowerRequest, GetUserPowerResponse>
  14. {
  15. protected override void ExcuteInternal(GetUserPowerRequest request, object state, GetUserPowerResponse rslt)
  16. {
  17. var tokendata = BllHelper.GetToken(request.token);
  18. if (tokendata == null)
  19. {
  20. rslt.ErrMsg = "会话已经中断,请重新登录";
  21. return;
  22. }
  23. var powers = new List<int>();
  24. if (request.userid > 0)
  25. {
  26. using (var con = GlobalVar.ConnectionString.NewSqlConnection())
  27. using (var cmd = con.CreateCommand())
  28. {
  29. con.Open();
  30. cmd.CommandText = "SELECT funid FROM st_user_power WHERE userid = " + request.userid;
  31. using (var reader = cmd.ExecuteReader())
  32. {
  33. while (reader.Read())
  34. {
  35. powers.Add(Convert.ToInt32(reader["funid"]));
  36. }
  37. }
  38. }
  39. }
  40. rslt.powerList = new Power().GetAllPowers();
  41. foreach (var powerItem in rslt.powerList)
  42. {
  43. if (powers.Contains(powerItem.funid.Value))
  44. {
  45. powerItem.inuse = 1;
  46. }
  47. else
  48. {
  49. powerItem.inuse = 0;
  50. }
  51. }
  52. }
  53. }
  54. }