UserReceiptRepository.php 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\common\repositories\user;
  12. use app\common\repositories\BaseRepository;
  13. use app\common\dao\user\UserReceiptDao;
  14. class UserReceiptRepository extends BaseRepository
  15. {
  16. protected $dao;
  17. public function __construct(UserReceiptDao $dao)
  18. {
  19. $this->dao = $dao;
  20. }
  21. /**
  22. * 检查给定的用户ID是否存在于指定的数据记录中。
  23. *
  24. * 此函数用于通过用户ID和主键ID组合来查询数据记录的数量。
  25. * 如果存在匹配的记录且未被删除,则返回计数结果,这表明给定的用户ID是存在的。
  26. * 主要用于验证数据的唯一性和存在性,特别是在执行更新或删除操作之前。
  27. *
  28. * @param int $id 数据记录的主键ID
  29. * @param int $uid 要查询的用户ID
  30. * @return int 返回匹配记录的数量,如果为0,则表示用户ID不存在或已被删除。
  31. */
  32. public function uidExists(int $id,int $uid)
  33. {
  34. // 根据主键ID、用户ID和删除状态(未删除)查询数据记录的数量。
  35. return $this->dao->getWhereCount(['uid' => $uid,$this->dao->getPk() => $id,'is_del' => 0]);
  36. }
  37. /**
  38. * 获取默认记录
  39. *
  40. * 本方法用于查询指定用户ID的默认记录。通过调用DAO层的方法,传递条件数组来查询数据库中满足条件的默认记录。
  41. * 主要用于在系统中确定某些设置或信息的默认值。
  42. *
  43. * @param int $uid 用户ID。本参数用于指定查询哪个用户的默认记录。
  44. * @return mixed 返回查询结果。具体类型取决于DAO层的实现,可能是一个对象、数组或者null。
  45. */
  46. public function getIsDefault(int $uid)
  47. {
  48. // 构造查询条件,查询指定用户ID且标记为默认的记录
  49. return $this->dao->getWhere(['uid' => $uid,'is_default' => 1]);
  50. }
  51. /**
  52. * 获取列表数据
  53. *
  54. * 本函数用于根据条件获取特定的数据列表。它首先确保待查询的数据未被删除(is_del = 0),
  55. * 然后调用DAO层的getSearch方法进行查询。查询结果将按照is_default降序和create_time升序排列。
  56. *
  57. * @param array $where 查询条件数组。该数组包含了用户自定义的查询条件,本函数会在此基础上添加一个固定条件:is_del = 0。
  58. * @return array 返回查询结果集,是一个由符合条件的数据组成的数组。
  59. */
  60. public function getList(array $where)
  61. {
  62. // 设置数据未删除的标记,确保只查询未被删除的数据
  63. $where['is_del'] = 0;
  64. // 调用DAO层的getSearch方法进行查询,并指定排序方式为is_default降序和create_time升序
  65. return $this->dao->getSearch($where)->order('is_default DESC , create_time ASC')->select();
  66. }
  67. /**
  68. * 根据条件获取详细信息
  69. *
  70. * 本函数通过调用DAO层的getSearch方法,传入查询条件,进而获取符合条件的数据详情。
  71. * 主要用于在业务逻辑层中进行数据的查询操作,封装了对数据库查询的细节,提高了代码的可维护性和可读性。
  72. *
  73. * @param array $where 查询条件,以数组形式传递,数组的每个元素都是一个查询条件。
  74. * @return mixed 返回查询结果,通常是数组或者对象,具体取决于DAO层的find方法的实现。
  75. */
  76. public function detail(array $where)
  77. {
  78. // 调用DAO层的方法进行查询,并返回查询结果
  79. return $this->dao->getSearch($where)->find();
  80. }
  81. }