You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SpLuGetAllUserPermission.php 3.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?php
  2. /**
  3. * AUTO GENERATED BY LUTICATE GENERATOR
  4. * ANY CHANGES WILL BE OVERWRITTEN
  5. */
  6. namespace Luticate\Auth\DataAccess\SP;
  7. use Luticate\Utils\LuSpDbo;
  8. use Luticate\Utils\LuMultipleDbo;
  9. use Luticate\Utils\LuStringUtils;
  10. use Illuminate\Support\Facades\DB;
  11. class SpLuGetAllUserPermission extends LuSpDbo {
  12. /**
  13. * @param $dam
  14. * @return \Luticate\Auth\DataAccess\SP\SpLuGetAllUserPermission|null
  15. */
  16. protected static function damToDbo($dam)
  17. {
  18. if (is_null($dam))
  19. return null;
  20. $dbo = new SpLuGetAllUserPermission();
  21. $dbo->setPermissonName(LuStringUtils::convertJsonString($dam->_permisson_name));
  22. $dbo->setVal(LuStringUtils::convertJsonString($dam->val));
  23. return $dbo;
  24. }
  25. /**
  26. * @param $_user_id integer
  27. * @return \Luticate\Auth\DataAccess\SP\SpLuGetAllUserPermission[];
  28. */
  29. public static function execute($_user_id)
  30. {
  31. $values = DB::select('SELECT to_json(data._permisson_name) AS _permisson_name, to_json(data.val) AS val FROM sp_lu_get_all_user_permission(:_user_id) data', array(":_user_id" => $_user_id));
  32. $dboValues = array();
  33. foreach ($values as $value)
  34. $dboValues[] = self::damToDbo($value);
  35. return $dboValues;
  36. }
  37. /**
  38. * @param $_user_id integer
  39. * @param $page int The page number, 0 based
  40. * @param $perPage int The number of items per page
  41. * @return \Luticate\Utils\LuMultipleDbo;
  42. */
  43. public static function getMultipleJson($_user_id, $page, $perPage)
  44. {
  45. $values = DB::select('SELECT (SELECT count(*) FROM sp_lu_get_all_user_permission(:_user_id)) as count, (SELECT json_agg(q) FROM (SELECT * FROM sp_lu_get_all_user_permission(:_user_id) OFFSET (:page::int * :perPage::int) LIMIT :perPage) q) as data',
  46. array(":_user_id" => $_user_id, ":page" => $page, ":perPage" => $perPage));
  47. $value = $values[0];
  48. if (is_null($value->data))
  49. {
  50. $value->data = '[]';
  51. }
  52. $data = LuStringUtils::convertJsonString($value->data);
  53. return new LuMultipleDbo($value->count, $data);
  54. }
  55. public function jsonSerialize()
  56. {
  57. return array(
  58. "PermissonName" => $this->_PermissonName,
  59. "Val" => $this->_val
  60. );
  61. }
  62. public static function jsonDeserialize($json)
  63. {
  64. $dbo = new SpLuGetAllUserPermission();
  65. if (isset($json["PermissonName"])) {
  66. $dbo->setPermissonName($json["PermissonName"]);
  67. }
  68. if (isset($json["Val"])) {
  69. $dbo->setVal($json["Val"]);
  70. }
  71. return $dbo;
  72. }
  73. public static function generateSample()
  74. {
  75. $dbo = new SpLuGetAllUserPermission();
  76. $dbo->setPermissonName("sample string");
  77. $dbo->setVal(true);
  78. return $dbo;
  79. }
  80. /**
  81. * @var string
  82. */
  83. protected $_PermissonName;
  84. public function getPermissonName()
  85. {
  86. return $this->_PermissonName;
  87. }
  88. public function setPermissonName($value)
  89. {
  90. $this->_PermissonName = $value;
  91. }
  92. /**
  93. * @var boolean
  94. */
  95. protected $_val;
  96. public function getVal()
  97. {
  98. return $this->_val;
  99. }
  100. public function setVal($value)
  101. {
  102. $this->_val = $value;
  103. }
  104. }