Audit.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | [ WE CAN DO IT MORE SIMPLE ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2018-2020 rights reserved.
  6. // +----------------------------------------------------------------------
  7. // |
  8. // +----------------------------------------------------------------------
  9. // | Date: 2020-11-08 12:56
  10. // +----------------------------------------------------------------------
  11. namespace app\system\controller;
  12. use app\model\api\User as UserModel;
  13. use app\model\api\ServiceType as ServiceTypeModel;
  14. use app\model\api\InfoAudit;
  15. use app\model\api\TypeAudit;
  16. use app\model\api\UserAudit;
  17. use app\model\api\ServiceType;
  18. use app\model\api\ServiceTimeType;
  19. use app\model\api\City as CityModel;
  20. use app\model\api\Sys as SysModel;
  21. use think\db\exception\DbException;
  22. use think\facade\Db;
  23. use app\Request;
  24. use library\services\UtilService;
  25. use library\utils\UserUtilsTool;
  26. class Audit extends BaseController
  27. {
  28. /***********************************审核******************************/
  29. /**
  30. * 第一步审核初始化
  31. * @return type
  32. */
  33. public function infoAuditInit()
  34. {
  35. return app('json')->success([
  36. 'all' => (new InfoAudit)->count(),
  37. 'wait' => (new InfoAudit)->where('status', 0)->count(),
  38. 'ok' => (new InfoAudit)->where('status', 1)->count(),
  39. 'no' => (new InfoAudit)->where('status', -1)->count(),
  40. ]);
  41. }
  42. /**
  43. * 获取第一步审核列表
  44. * @param Request $request
  45. */
  46. public function infoAuditList(Request $request)
  47. {
  48. $pageSize = 50;
  49. $post = UtilService::getMore(
  50. [
  51. ['page', 1],
  52. ['keyword',''],
  53. ['status', ''],
  54. ['uid', ''],
  55. ['time',[]],
  56. ], $request
  57. );
  58. $where = [];
  59. if(is_numeric($post['status'])) {
  60. $where[]=["t.status","=",(int)$post['status']];
  61. }
  62. if(is_numeric($post['uid']) && $post['uid']>0) {
  63. $where[]=["t.uid","=",(int)$post['uid']];
  64. }
  65. $startTime = "";
  66. $endTime = "";
  67. if(!empty($post['time'][0]) && !empty($post['time'][1])) {
  68. $startTime = strtotime($post['time'][0]);
  69. $endTime = strtotime($post['time'][1]);
  70. $where[]=["t.time","between","{$startTime},{$endTime}"];
  71. }
  72. if(!empty($post['keyword'])){
  73. $where[]=["t.name","=",$post['keyword']];
  74. }
  75. $pageCount = (new InfoAudit)->alias("t")->where($where)->count();
  76. $data = null;
  77. if($pageCount>0){
  78. $data = (new InfoAudit)
  79. ->alias("t")
  80. ->field("t.*,u.nickname,a.username as admin_name,s.title as service_time_type_title")
  81. ->leftJoin("user u", "u.uid = t.uid")
  82. ->leftJoin("admin a", "a.id = t.admin_id")
  83. ->leftJoin("service_time_type s", "s.code = t.service_type")
  84. ->where($where)
  85. ->page((int)$post["page"], $pageSize)
  86. ->order("t.id","desc")
  87. ->select()
  88. ->toArray();
  89. }
  90. $data = empty($data) ? [] : $data;
  91. $serviceTypeModel = new ServiceTypeModel();
  92. foreach($data as $k=>$v){
  93. $data[$k]["birthday"] = empty($v["birthday"]) ?"":date("Y-m-d",$v["birthday"]);
  94. $data[$k]["admin_time"] = empty($v["admin_time"])?"":date("Y-m-d H:i:s",$v["admin_time"]);
  95. $data[$k]["birthday"] = date("Y-m-d H:i:s",$v["time"]);
  96. $data[$k]["service_audit_imgs"] = getImageAr($v["service_audit_imgs"]);
  97. $data[$k]["service_intro_imgs"] = getImageAr($v["service_intro_imgs"]);
  98. //服务区域
  99. $data[$k]["service_area"] = getImageAr($v["service_area"]);
  100. $data[$k]["service_area_all"] = [];
  101. foreach($data[$k]["service_area"] as $k2=>$v2){
  102. $data[$k]["service_area_all"][]=getAreaItemAr($v2);
  103. }
  104. //服务内容
  105. $data[$k]["service_project"] = getImageAr($v["service_project"]);
  106. $data[$k]["service_project_ar"] = [];
  107. if(!empty($data[$k]["service_project"])){
  108. $data[$k]["service_project_ar"] = $serviceTypeModel->where("id","in",$data[$k]["service_project"])->select();
  109. }
  110. }
  111. return app('json')->success([
  112. 'list' => $data,
  113. 'pageCount' => $pageCount,
  114. 'pageSize' => $pageSize,
  115. 'page' => $post['page'],
  116. ]);
  117. }
  118. /**
  119. * 第一步审核处理
  120. * @param Request $request
  121. */
  122. public function infoAuditSub(Request $request)
  123. {
  124. $post = UtilService::getMore(
  125. [
  126. ['id', '', 'empty', '参数错误'],
  127. ['mono'],
  128. ['type', 0],
  129. ], $request);
  130. $certData = (new InfoAudit)->where('id', $post['id'])->find();
  131. if (empty($certData)) {
  132. return app('json')->fail('数据不存在');
  133. }
  134. if ($certData['status']!=0) {
  135. return app('json')->fail( '当前审核已处理');
  136. }
  137. //审核通过
  138. if ($post['type'] == 1) {
  139. (new InfoAudit)
  140. ->where('id', $post['id'])
  141. ->save([
  142. 'status' => 1,
  143. 'admin_mono' => $post['mono'],
  144. 'audit_time' => time(),
  145. 'admin_id' => $request->adminInfo['id'],
  146. ]);
  147. return app('json')->success('操作成功');
  148. }
  149. //审核驳回
  150. if ($post['type'] == -1) {
  151. (new InfoAudit)
  152. ->where('id', $post['id'])
  153. ->save([
  154. 'status' => -1,
  155. 'admin_mono' => $post['mono'],
  156. 'audit_time' => time(),
  157. 'admin_id' => $request->adminInfo['id'],
  158. ]);
  159. return app('json')->success('已驳回');
  160. }
  161. }
  162. }