UserHonor.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\model\api;
  4. use think\Model;
  5. /**
  6. * 用户荣誉定义表模型
  7. * @mixin \think\Model
  8. */
  9. class UserHonor extends Model
  10. {
  11. /**
  12. * 获取荣誉列表
  13. * @param array $post
  14. * @param string $field
  15. * @return array
  16. */
  17. public function getList($post, $field = "*")
  18. {
  19. $post["pageSize"] = $post["pageSize"] > 50 ? 50 : (int)$post["pageSize"];
  20. $post["page"] = $post["page"] <= 0 ? 1 : (int)$post["page"];
  21. $where = [];
  22. if (isset($post["status"]) && in_array((string)$post["status"], ["0", "1"])) {
  23. $where[] = ["status", "=", (int)$post["status"]];
  24. }
  25. if (!empty($post["name"])) {
  26. $where[] = ["name", "like", "%{$post["name"]}%"];
  27. }
  28. $totalCount = $this->where($where)->count();
  29. $data = null;
  30. if ($totalCount > 0) {
  31. $data = $this
  32. ->field($field)
  33. ->where($where)
  34. ->order("sort", "desc")
  35. ->order("id", "desc")
  36. ->page($post["page"], $post["pageSize"])
  37. ->select();
  38. if (!empty($data)) {
  39. $data = $data->toArray();
  40. }
  41. }
  42. $data = empty($data) ? [] : $data;
  43. foreach ($data as $k => $v) {
  44. if (!empty($v["create_time"])) {
  45. $data[$k]["create_time"] = date("Y-m-d H:i:s", $v["create_time"]);
  46. }
  47. if (!empty($v["update_time"])) {
  48. $data[$k]["update_time"] = date("Y-m-d H:i:s", $v["update_time"]);
  49. }
  50. }
  51. return ["list" => $data, "pageSize" => $post["pageSize"], "page" => $post["page"], "totalCount" => $totalCount];
  52. }
  53. /**
  54. * 获取所有启用的荣誉(用于下拉选择)
  55. * @return array
  56. */
  57. public function getAllEnabled()
  58. {
  59. $data = $this
  60. ->field("id,name,icon")
  61. ->where("status", 1)
  62. ->order("sort", "desc")
  63. ->order("id", "desc")
  64. ->select();
  65. if (!empty($data)) {
  66. $data = $data->toArray();
  67. }
  68. return empty($data) ? [] : $data;
  69. }
  70. }