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