IntegralItemApi.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. namespace app\common\api;
  3. use app\common\model\IntegralItem;
  4. class IntegralItemApi {
  5. public static function getOne($id) {
  6. return IntegralItem::alias("i")->leftJoin("new_integral_project p", "p.id=i.projectId")->field("i.*,p.type,if(yearly > 0,yearly,0) as plan")->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["projectType"]) {
  14. $where[] = ["projectType", "=", $params["projectType"]];
  15. }
  16. if ($params["active"]) {
  17. $where[] = ["active", "=", $params["active"]];
  18. }
  19. $count = IntegralItem::where($where)->count();
  20. $list = IntegralItem::where($where)->limit($offset, $limit)->order("updateTime desc,createTime desc")->select()->toArray();
  21. return ["total" => $count, "rows" => $list];
  22. }
  23. public static function getAll($where = []) {
  24. $where[] = ["delete", "=", 0];
  25. $list = IntegralItem::where($where)->order("updateTime desc,createTime desc")->select()->toArray();
  26. return $list;
  27. }
  28. public static function edit($params) {
  29. $data["projectId"] = $params["projectId"];
  30. $data["name"] = $params["name"];
  31. $data["unit"] = $params["unit"];
  32. $data["fstNeedAmount"] = $params["fstNeedAmount"];
  33. $data["fstGainPoints"] = $params["fstGainPoints"];
  34. $data["fileTypeId"] = implode(",", $params["fileTypeId"]);
  35. $data["active"] = $params["active"];
  36. if ($params["plan"] == 2) {
  37. $data["stepNeedAmount"] = $params["stepNeedAmount"];
  38. $data["stepGainPoints"] = $params["stepGainPoints"];
  39. $data["maxGainPoints"] = $params["maxGainPoints"];
  40. $data["yearly"] = $params["yearly"];
  41. } else {
  42. $data["stepNeedAmount"] = 0;
  43. $data["stepGainPoints"] = 0;
  44. $data["maxGainPoints"] = 0;
  45. $data["yearly"] = 0;
  46. }
  47. if ($params["id"]) {
  48. $data["id"] = $params["id"];
  49. $data["updateTime"] = date("Y-m-d H:i:s");
  50. $data["updateUser"] = session("user")["uid"];
  51. return IntegralItem::update($data);
  52. } else {
  53. $data["createTime"] = date("Y-m-d H:i:s");
  54. $data["createUser"] = session("user")["uid"];
  55. return IntegralItem::insert($data);
  56. }
  57. }
  58. public static function delete($id) {
  59. $data["id"] = $id;
  60. $data["delete"] = 1;
  61. $data["updateUser"] = session("user")["uid"];
  62. $data["updateTime"] = date("Y-m-d H:i:s");
  63. return IntegralItem::update($data);
  64. }
  65. public static function chkExist($name, $projectId, $id = 0) {
  66. $where = [];
  67. $where[] = ["projectId", "=", $projectId];
  68. $where[] = ["name", "=", $name];
  69. $where[] = ["delete", "=", 0];
  70. if ($id) {
  71. $where[] = ["id", "<>", $id];
  72. }
  73. return IntegralItem::where($where)->find();
  74. }
  75. }