ShowTemplate.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\model\api;
  4. use think\Model;
  5. /**
  6. * @mixin \think\Model
  7. */
  8. class ShowTemplate extends Model
  9. {
  10. public function getDataList($post,$field="*",$is_admin=0){
  11. $post["pageSize"] = $post["pageSize"]>50 ? 50 : (int)$post["pageSize"];
  12. $post["page"] = $post["page"]<=0 ? 1 : (int)$post["page"];
  13. $where=[];
  14. if(isset($post["status"]) && in_array((string)$post["status"], ["0","1"])){
  15. $where[]=["status","=",(int)$post["status"]];
  16. }
  17. if(!empty($post["title"])){
  18. $where[]=["title","like","%{$post["title"]}%"];
  19. }
  20. if(isset($post["is_hot"]) && in_array((string)$post["is_hot"], ["0","1"])){
  21. $where[]=["is_hot","=",(int)$post["is_hot"]];
  22. }
  23. if(isset($post["is_recommend"]) && in_array((string)$post["is_recommend"], ["0","1"])){
  24. $where[]=["is_recommend","=",(int)$post["is_recommend"]];
  25. }
  26. $totalCount = $this->where($where)->count();
  27. $data=null;
  28. if($totalCount>0){
  29. $data = $this
  30. ->field($field)
  31. ->where($where)
  32. ->order("id", "desc")
  33. ->page($post["page"], $post["pageSize"])
  34. ->select();
  35. if(!empty($data)){
  36. $data = $data->toArray();
  37. }
  38. }
  39. $data = empty($data)?[]:$data;
  40. foreach($data as $k=>$v){
  41. $data[$k]["is_use"] = 0;//是否已经购买或者可以使用
  42. $data[$k]["imgs"] = getImageAr($v["imgs"]);
  43. $data[$k]["img"] = empty($data[$k]["imgs"]) ? "" : $data[$k]["imgs"][0];
  44. $data[$k]["sales_count"] = $data[$k]["real_sales"] + $data[$k]["unreal_sales"];
  45. if($is_admin==0){
  46. unset($data[$k]["real_sales"]);
  47. unset($data[$k]["unreal_sales"]);
  48. }else{
  49. $data[$k]["time"] = date("Y-m-d H:i:s",$v["time"]);
  50. $data[$k]["admin_time"] = date("Y-m-d H:i:s",$v["admin_time"]);
  51. }
  52. }
  53. return ["list" => $data, "pageSize" => $post["pageSize"],"page"=>$post["page"],"totalCount"=>$totalCount];
  54. }
  55. }