UserAgencyController.php 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2020-09-28
  6. * Time: 10:43
  7. */
  8. namespace api\js\controller;
  9. use api\js\model\AgencyModel;
  10. use api\js\model\JsCallModel;
  11. use api\js\model\JsOrderModel;
  12. use api\js\model\UserModel;
  13. use cmf\controller\RestUserBaseController;
  14. use think\Db;
  15. class UserAgencyController extends RestUserBaseController
  16. {
  17. /**
  18. * @throws \think\db\exception\DataNotFoundException
  19. * @throws \think\db\exception\ModelNotFoundException
  20. * @throws \think\exception\DbException
  21. * 获取数量
  22. */
  23. public function getnum()
  24. {
  25. $user_id = $this->getUserId();
  26. $UserModel = new UserModel();
  27. $agency_id = $UserModel::get($user_id)['agency_id'];
  28. if(!$agency_id){
  29. $this->error('您还不是代理商!');
  30. }
  31. $result = get_user_and_userjs($user_id);
  32. $user_ids_new = $result['user_ids'];
  33. $user_js_ids_new = $result['user_js_ids'];
  34. $JsOrderModel = new JsOrderModel();
  35. $money = Db::name('user_money_log')->where(['user_id'=>$user_id,'type'=>5])->sum('money');
  36. $order_num = $JsOrderModel::where('user_id','in',$user_js_ids_new)->count();
  37. $user_num = count($user_ids_new);
  38. $js_num = count($user_js_ids_new);
  39. $call_num = JsCallModel::where('user_id','in',$user_js_ids_new)->where('agency_is_look',0)->count();
  40. $this->success('ok',['user_num'=>$user_num,'js_num'=>$js_num,'order_num'=>$order_num,'money'=>$money,'call_num'=>$call_num]);
  41. }
  42. /**
  43. * 查看本地列表
  44. */
  45. public function getUserList()
  46. {
  47. $user_id = $this->getUserId();
  48. $UserModel = new UserModel();
  49. $agency_id = $UserModel::get($user_id)['agency_id'];
  50. if(!$agency_id){
  51. $this->error('您还不是代理商!');
  52. }
  53. $district_id = $this->request->param('district_id');
  54. $city_id = $this->request->param('city_id');
  55. $renk_id = $this->request->param('renk_id');
  56. $result = get_user_and_userjs($user_id,$district_id,$city_id,$renk_id);
  57. $where['id'] = $result['user_ids'];
  58. $page = $this->request->param('page',1);
  59. $user_list = $UserModel::where($where)->field('id,mobile,user_nickname,avatar,create_time')->order('id','desc')->page($page,20)->select()->each(function ($user_list){
  60. $user_list['mobile'] = preg_replace("/(\d{3})\d{4}(\d{4})/", "\$1****\$2", $user_list['mobile']);
  61. return $user_list;
  62. });
  63. $this->success('ok',$user_list);
  64. }
  65. /**
  66. * 查看技师列表
  67. */
  68. public function getJsList()
  69. {
  70. $user_id = $this->getUserId();
  71. $UserModel = new UserModel();
  72. $agency_id = $UserModel::get($user_id)['agency_id'];
  73. if(!$agency_id){
  74. $this->error('您还不是代理商!');
  75. }
  76. $district_id = $this->request->param('district_id');
  77. $city_id = $this->request->param('city_id');
  78. $renk_id = $this->request->param('renk_id');
  79. $result = get_user_and_userjs($user_id,$district_id,$city_id,$renk_id);
  80. $where['id'] = $result['user_js_ids'];
  81. $page = $this->request->param('page',1);
  82. $user_list = $UserModel::with('jsStatus')->where($where)->field('id,mobile,user_nickname,avatar,create_time')->order('id','desc')->page($page,20)->select()->each(function ($user_list){
  83. $user_list['mobile'] = preg_replace("/(\d{3})\d{4}(\d{4})/", "\$1****\$2", $user_list['mobile']);
  84. if(!$user_list->js_status){
  85. $user_list->js_status = ['js_status'=>0];
  86. }
  87. return $user_list;
  88. });
  89. $this->success('ok',$user_list);
  90. }
  91. /**
  92. *技师订单列表
  93. */
  94. public function getOrder()
  95. {
  96. $user_id = $this->getUserId();
  97. $UserModel = new UserModel();
  98. $agency_id = $UserModel::get($user_id)['agency_id'];
  99. $district_id = $this->request->param('district_id');
  100. $city_id = $this->request->param('city_id');
  101. $renk_id = $this->request->param('renk_id');
  102. if(!$agency_id){
  103. $this->error('您还不是代理商!');
  104. }
  105. $result = get_user_and_userjs($user_id,$district_id,$city_id,$renk_id);
  106. $JsOrderModel = new JsOrderModel();
  107. $page = $this->request->param('page',1);
  108. $list = $JsOrderModel::with('project.tag')->where('user_id','in',$result['user_js_ids'])->order('id','desc')->page($page,20)->select();
  109. $this->success('ok',$list);
  110. }
  111. /**
  112. * 报警列表
  113. */
  114. public function getCallList()
  115. {
  116. $user_id = $this->getUserId();
  117. $UserModel = new UserModel();
  118. $agency_id = $UserModel::get($user_id)['agency_id'];
  119. $district_id = $this->request->param('district_id');
  120. if(!$agency_id){
  121. $this->error('您还不是代理商!');
  122. }
  123. $city_id = $this->request->param('city_id');
  124. $renk_id = $this->request->param('renk_id');
  125. $result = get_user_and_userjs($user_id,$district_id,$city_id,$renk_id);
  126. $agency_is_look = $this->request->param('agency_is_look',0);
  127. $page = $this->request->param('page',1);
  128. $JsCallModel = new JsCallModel();
  129. $list = $JsCallModel::with('js_user,jsOrder.project')->where('user_id','in',$result['user_js_ids'])->where('agency_is_look',$agency_is_look)->order('id','desc')->page($page,20)->select();
  130. $this->success('ok',$list);
  131. }
  132. /**
  133. * 获取代理的地区
  134. */
  135. public function getDistrict()
  136. {
  137. $user_id = $this->getUserId();
  138. $agency_id = UserModel::get($user_id)['agency_id'];
  139. if(!$agency_id){
  140. $this->error('您还不是代理商!');
  141. }
  142. $agency_ids = UserModel::where('id',$user_id)->value('agency_id');
  143. $agency_ids_array = explode(',',$agency_ids);
  144. $list = Db::name('agency')->where('id','in',$agency_ids_array)->field('id,renk_id,city_id,district_id')->select()->each(function ($list){
  145. if($list['renk_id'] == 1){
  146. $list['cityName'] = Db::name('region')->where('id',$list['city_id'])->value('cityName');
  147. }
  148. if($list['renk_id'] == 2){
  149. $list['cityName'] = Db::name('region')->where('id',$list['district_id'])->value('cityName');
  150. }
  151. return $list;
  152. });
  153. $this->success('ok',$list);
  154. }
  155. }