IntegralProjectApi.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. namespace app\common\api;
  3. use app\common\model\IntegralProject;
  4. class IntegralProjectApi {
  5. public static function getOne($id) {
  6. return IntegralProject::findOrEmpty($id);
  7. }
  8. public static function getList($params) {
  9. $order = $params["order"] ?: "desc";
  10. $offset = $params["offset"] ?: 0;
  11. $limit = $params["limit"] ?: 10;
  12. $where[] = ["delete", "=", 0];
  13. if ($params["type"]) {
  14. $where[] = ["type", "=", $params["type"]];
  15. }
  16. if ($params["name"]) {
  17. $where[] = ["name", "like", "%{$params["name"]}%"];
  18. }
  19. if ($params["projectType"]) {
  20. $where[] = ["projectType", "=", $params["projectType"]];
  21. }
  22. if ($params["active"]) {
  23. $where[] = ["active", "=", $params["active"]];
  24. }
  25. $count = IntegralProject::where($where)->count();
  26. $list = IntegralProject::where($where)->field("*,if(updateTime is null,createTime,updateTime) as orderTime")->limit($offset, $limit)->order("orderTime desc")->select()->toArray();
  27. return ["total" => $count, "rows" => $list];
  28. }
  29. public static function getAll($where = []) {
  30. $where[] = ["delete", "=", 0];
  31. $list = IntegralProject::where($where)->field("*,if(updateTime is null,createTime,updateTime) as orderTime")->order("orderTime desc")->select()->toArray();
  32. return $list;
  33. }
  34. public static function edit($params) {
  35. $model = new IntegralProject();
  36. $data["type"] = $params["type"];
  37. $data["name"] = $params["name"];
  38. $data["projectType"] = $params["projectType"];
  39. $data["active"] = $params["active"];
  40. $data["limit"] = $params["limit"];
  41. if ($data["limit"] == 1) {
  42. $data["yearly"] = $params["yearly"];
  43. $data["max"] = $params["max"];
  44. } else {
  45. $data["yearly"] = 0;
  46. $data["max"] = 0;
  47. }
  48. if ($params["id"]) {
  49. $project = $model->find($params["id"]);
  50. $data["updateTime"] = date("Y-m-d H:i:s");
  51. $data["updateUser"] = session("user")["uid"];
  52. return $project->save($data);
  53. } else {
  54. $data["createTime"] = date("Y-m-d H:i:s");
  55. $data["createUser"] = session("user")["uid"];
  56. return $model->save($data);
  57. }
  58. }
  59. public static function delete($id) {
  60. $data["id"] = $id;
  61. $data["delete"] = 1;
  62. $data["updateUser"] = session("user")["uid"];
  63. $data["updateTime"] = date("Y-m-d H:i:s");
  64. //同时删除子项
  65. $upd["delete"] = 1;
  66. $upd["updateTime"] = date("Y-m-d H:i:s");
  67. $upd["updateTime"] = session("user")["uid"];
  68. $where[] = ["projectId", "=", $id];
  69. \app\common\model\IntegralItem::where($where)->save($upd);
  70. return IntegralProject::update($data);
  71. }
  72. public static function chkExist($name, $type, $projectType, $id = 0) {
  73. $where = [];
  74. $where[] = ["type", "=", $type];
  75. $where[] = ["projectType", "=", $projectType];
  76. $where[] = ["name", "=", $name];
  77. $where[] = ["delete", "=", 0];
  78. if ($id) {
  79. $where[] = ["id", "<>", $id];
  80. }
  81. return IntegralProject::where($where)->find();
  82. }
  83. }