PorPcController.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace app\controllers;
  3. use app\components\data\Respuesta;
  4. use app\components\rest\JsonController;
  5. use app\models\Descarga;
  6. use yii\filters\AccessControl;
  7. class PorPcController extends JsonController {
  8. public function actionIndex() {
  9. $req = \Yii::$app->getRequest();
  10. $pc = trim($req->get("pc", ""));
  11. $id = intval($req->get("id", ""));
  12. $limite = intval($req->get("limite", 1000));
  13. $pagina = intval($req->get("pagina", 0));
  14. $descargado = intval($req->get("descargado", "")) === 1;
  15. if(trim($pc) === "") {
  16. return (new Respuesta())
  17. ->esError()
  18. ->mensaje("el parámetro pc es obligatorio");
  19. }
  20. $query = Descarga::find()
  21. ->andWhere([
  22. "pc" => $pc,
  23. "descargado" => $descargado
  24. ])
  25. ->orderBy(["fecha" => SORT_DESC])
  26. ;
  27. if($id > 0) {
  28. $query->andWhere(["id" => $id]);
  29. }
  30. return (new Respuesta($query, $limite, $pagina));
  31. }
  32. public function actionDescargado() {
  33. $req = \Yii::$app->getRequest();
  34. $id = $req->getBodyParam("id", []);
  35. $pc = trim($req->getBodyParam("pc", ""));
  36. if(empty($id) || $pc === "") {
  37. return (new Respuesta())
  38. ->esError()
  39. ->mensaje("Los parámetros id y pc son obligatorios");
  40. }
  41. $rows = Descarga::updateAll(
  42. ["descargado" => true],
  43. ["pc" => $pc, "id" => $id]);
  44. return (new Respuesta())
  45. ->esExitoso()
  46. ->detalle([
  47. "actualizados" => $rows
  48. ])
  49. ->mensaje("{$rows} descargas actualizadas");
  50. }
  51. }