InfoAudit.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\model\api;
  4. use app\model\api\ServiceType as ServiceTypeModel;
  5. use app\model\api\ServiceLabel as ServiceLabelModel;
  6. use app\model\api\User as UserModel;
  7. use think\Model;
  8. /**
  9. * @mixin \think\Model
  10. */
  11. class InfoAudit extends Model
  12. {
  13. /**
  14. * 获取列表
  15. * @param type $post
  16. * @param type $is_admin
  17. */
  18. public function getList($post,$is_admin=0){
  19. $post["pageSize"] = $post["pageSize"]>50 ? 50 : (int)$post["pageSize"];
  20. $post["page"] = $post["page"]<=0 ? 1 : (int)$post["page"];
  21. $where=[];
  22. if(is_numeric($post['status'])) {
  23. $where[]=["t.status","=",(int)$post['status']];
  24. }
  25. if(is_numeric($post['uid']) && $post['uid']>0) {
  26. $where[]=["t.uid","=",(int)$post['uid']];
  27. }else if(is_mobile($post['user_mobile'])){
  28. $udata = (new UserModel)->where("mobile",$post['user_mobile'])->find();
  29. if(!empty($udata)){
  30. $where[]=["t.uid","=",(int)$udata['uid']];
  31. }
  32. }
  33. if(is_mobile($post['mobile'])) {
  34. $where[]=["t.mobile","=",$post['mobile']];
  35. }
  36. $startTime = "";
  37. $endTime = "";
  38. if(!empty($post['time'][0]) && !empty($post['time'][1])) {
  39. $startTime = strtotime($post['time'][0]);
  40. $endTime = strtotime($post['time'][1]);
  41. $where[]=["t.time","between","{$startTime},{$endTime}"];
  42. }
  43. if(!empty($post['keyword'])){
  44. $where[]=["t.name","=",$post['keyword']];
  45. }
  46. $pageCount = (new InfoAudit)->alias("au")->where($where)->count();
  47. $data = null;
  48. if($pageCount>0){
  49. $userField = $is_admin==1 ? ",u.mobile as user_mobile,u.nickname as user_nickname,u.avatar as user_avatar,a.username as admin_name" : "";
  50. $data = (new InfoAudit)
  51. ->alias("au")
  52. ->field("au.*,wt.title as user_work_type_title,s.title as service_time_type_title{$userField}")
  53. ->leftJoin("user u" , "u.uid = au.uid")//用户信息
  54. ->leftJoin("user_work_type wt" , "wt.id = au.user_work_type_id")//职称
  55. ->leftJoin("service_time_type s" , "s.code = au.service_type")//服务时长类型
  56. ->leftJoin("admin a" , "a.id = au.admin_id")//管理员
  57. ->where($where)
  58. ->order("au.id","desc")
  59. ->page((int)$post["page"], $post["pageSize"])
  60. ->select()
  61. ->toArray();
  62. }
  63. $data = empty($data) ? [] : $data;
  64. $serviceTypeModel = new ServiceTypeModel();
  65. foreach($data as $k=>$v){
  66. $data[$k]["birthday"] = empty($data[$k]["birthday"]) ? "" : date("Y-m-d",$data[$k]["birthday"]);//生日
  67. $data[$k]["time"] = date("Y-m-d H:i:s",$data[$k]["time"]);//添加时间
  68. $data[$k]["service_audit_imgs"] = getImageAr($data[$k]["service_audit_imgs"]);//我的证书
  69. $data[$k]["service_intro_imgs"] = getImageAr($data[$k]["service_intro_imgs"]);//我的介绍图片
  70. $data[$k]["service_imgs"] = getImageAr($data[$k]["service_imgs"]);//我的服务展示照片
  71. //服务区域
  72. $data[$k]["service_area"] = getImageAr($data[$k]["service_area"]);
  73. $data[$k]["service_area_all"] = [];
  74. foreach($data[$k]["service_area"] as $k2=>$v2){
  75. $data[$k]["service_area_all"][]=getAreaItemAr($v2);
  76. }
  77. //服务内容
  78. $data[$k]["service_project"] = getImageAr($data[$k]["service_project"]);//我的服务内容
  79. $data[$k]["service_project_ar"] = [];
  80. if(!empty($data[$k]["service_project"])){
  81. $data[$k]["service_project_ar"] = (new ServiceTypeModel())->where("id","in",$data[$k]["service_project"])->select();
  82. }
  83. //介绍标签
  84. $data[$k]["service_label"] = getImageAr($data[$k]["service_label"]);
  85. $data[$k]["service_label_ar"] = (new ServiceLabelModel)->getColumnList("id", "title", $data[$k]["service_label"]);
  86. }
  87. return ["list" => $data, "pageSize" => $post["pageSize"],"page"=>$post["page"],"totalCount"=>$pageCount];
  88. }
  89. /**
  90. *
  91. * @param type $id
  92. * @param type $type
  93. */
  94. public function getItem($post,$is_admin=0){
  95. if(empty($post)){
  96. return [];
  97. }
  98. $where=[];
  99. if(isset($post["status"]) && in_array((string)$post["status"], ["0","1"])){
  100. $where[]=["au.status","=",(int)$post["status"]];
  101. }
  102. if(!empty($post["id"])){
  103. $where[]=["au.id","=",$post["id"]];
  104. }
  105. if(!empty($post["uid"])){
  106. $where[]=["au.uid","=",$post["uid"]];
  107. }
  108. //后台
  109. $userField = $is_admin==1 ? ",u.mobile as user_mobile,u.nickname as user_nickname,u.avatar as user_avatar" : "";
  110. $data = (new InfoAudit)
  111. ->alias("au")
  112. ->field("au.*,wt.title as user_work_type_title,s.title as service_time_type_title{$userField}")
  113. ->leftJoin("user u" ,"u.uid = au.uid")//用户信息
  114. ->leftJoin("user_work_type wt" , "wt.id = au.user_work_type_id")//职称
  115. ->leftJoin("service_time_type s" , "s.code = au.service_type")//服务时长类型
  116. ->leftJoin("admin a" , "a.id = au.admin_id")//管理员
  117. ->where($where)
  118. ->order("au.id","desc")
  119. ->find();
  120. if(empty($data)){
  121. return [];
  122. }
  123. $data = $data->toArray();
  124. $serviceTypeModel = new ServiceTypeModel();
  125. $data["birthday"] = empty($data["birthday"]) ? "" : date("Y-m-d",$data["birthday"]);//生日
  126. $data["time"] = date("Y-m-d H:i:s",$data["time"]);//添加时间
  127. $data["service_audit_imgs"] = getImageAr($data["service_audit_imgs"]);//我的证书
  128. $data["service_intro_imgs"] = getImageAr($data["service_intro_imgs"]);//我的介绍图片
  129. $data["service_imgs"] = getImageAr($data["service_imgs"]);//我的服务展示照片
  130. //服务区域
  131. $data["service_area"] = getImageAr($data["service_area"]);
  132. $data["service_area_all"] = [];
  133. foreach($data["service_area"] as $k2=>$v2){
  134. $data["service_area_all"][]=getAreaItemAr($v2);
  135. }
  136. //服务内容
  137. $data["service_project"] = getImageAr($data["service_project"]);//我的服务内容
  138. $data["service_project_ar"] = [];
  139. if(!empty($data["service_project"])){
  140. $data["service_project_ar"] = (new ServiceTypeModel())->where("id","in",$data["service_project"])->select();
  141. }
  142. $data["service_label"] = getImageAr($data["service_label"]);
  143. $data["service_label_ar"] = (new ServiceLabelModel)->getColumnList("id", "title", $data["service_label"]);
  144. if($is_admin==0){
  145. unset($data["admin_id"]);
  146. unset($data["admin_mono"]);
  147. unset($data["admin_time"]);
  148. unset($data["uid"]);
  149. unset($data["service_price"]);
  150. unset($data["service_area"]);
  151. unset($data["service_project"]);
  152. }else{
  153. $data["admin_time"] = empty($data["admin_time"])?"":date("Y-m-d H:i:s",$data["admin_time"]);
  154. }
  155. return $data;
  156. }
  157. }