EnterPrise.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. <?php
  2. namespace app\api\controller\enterprise;
  3. use app\models\enterprise\EnterPriseType as Type;
  4. use app\models\store\StoreServiceLog;
  5. use app\models\article\Article;
  6. use app\models\article\ArticleReply as ReplyModel;
  7. use app\models\user\EnterpriseUser as isUser;
  8. use app\models\user\InterestUser as InterestUser;
  9. use app\models\store\StoreService as StoreServiceModel;
  10. use app\Request;
  11. use crmeb\services\UtilService;
  12. /**
  13. * 企业类
  14. * Class EnterPrise
  15. * @package app\api\controller\enterprise
  16. */
  17. class EnterPrise
  18. {
  19. // 企业类型列表
  20. public function stylelist(Request $request){
  21. $list=Type::where('is_del',0)->where('is_type',$request->get('is_type',0))->select();
  22. if(empty($list)){
  23. return app('json')->fail('类型为空');
  24. }
  25. if (is_object($list)) $list = $list->toArray();
  26. return app('json')->success($list);
  27. }
  28. // 订阅号详情
  29. public function details(Request $request){
  30. $user = $request->user();
  31. $data=$request->get();
  32. //if(empty($data['id'])){
  33. //return app('json')->fail('id为空');
  34. //}
  35. // 通过id查询媒体
  36. $res=isUser::where('id',$data['id'])->select();
  37. $essay=$this->essay($res,$user);
  38. // 查询该订阅号下的文章
  39. $res2=Article::where('mer_id',$data['id'])->where('status',1)->where('is_check',1)->order('add_time', 'desc')->page($data['page'],$data['rows'])->field('id,title,add_time,image_input')->select();
  40. $counts=count($res2);
  41. $list=[];
  42. foreach($res2 as $v){
  43. $count=ReplyModel::where('aid',$v['id'])->count();
  44. $list[]=[
  45. 'id'=>$v['id'],
  46. 'title'=>$v['title'],
  47. 'add_time'=>$v['add_time'],
  48. 'image_input'=>$v['image_input'],
  49. 'comment'=>$count
  50. ];
  51. }
  52. $list=['count'=>$counts,'content'=>$essay,'list'=>$list];
  53. return app('json')->success($list);
  54. }
  55. // 文章列表
  56. public function lists(Request $request){
  57. $data=$request->get();
  58. $res=isUser::where('type',$data['id'])
  59. ->page(intval($data['page']),intval($data['rows']))
  60. ->field('id,name')
  61. ->select()
  62. ->toArray();
  63. $list=[];
  64. $counts=0;
  65. foreach($res as $v){
  66. $lists=Article::where('mer_id',$v['id'])->where('status',1)->where('is_check',1)->field('id,title,add_time,image_input')->select();
  67. $counts=$counts+sizeof($lists);
  68. foreach($lists as $k){
  69. $count=ReplyModel::where('aid',$k['id'])->count();
  70. $list[]=[
  71. 'id'=>$k['id'],
  72. 'title'=>$k['title'],
  73. 'add_time'=>$k['add_time'],
  74. 'image_input'=>$k['image_input'],
  75. 'name'=>$v['name'],
  76. 'comment'=>$count
  77. ];
  78. }
  79. }
  80. $list=['count'=>$counts,'list'=>$list];
  81. return app('json')->success($list);
  82. }
  83. // 媒体查询
  84. public function search(Request $request){
  85. $user = $request->user();
  86. $data=$request->get();
  87. $map[] = ['name','like','云'];
  88. $res=isUser::where('name','like','%'.$data['name'].'%')->page($data['page'],$data['rows'])->select()->toArray();
  89. $essay=$this->essay($res,$user);
  90. return app('json')->success($essay);
  91. }
  92. // 企业推荐列表
  93. public function putlist(Request $request){
  94. $data=$request->get();
  95. $user = $request->user();
  96. // 当传了类型过来就通过类型查询
  97. if(isset($data['type'])){
  98. $res=isUser::where('type',$data['type'])->where('is_auth',2)->where('is_dle',0)
  99. ->page(intval($data['page']),intval($data['rows']))
  100. ->field('id,name,headimg,introduce')
  101. ->select()
  102. ->toArray();
  103. $essay=$this->essay($res,$user);
  104. return app('json')->success($essay);
  105. }
  106. $list=isUser::where('is_put',1)->where('is_auth',2)->page(intval($data['page']),intval($data['rows']))->field('id,name,headimg,introduce')->select();
  107. $essay=$this->essay($list,$user);
  108. return app('json')->success($essay);
  109. }
  110. // 企业认证 进度 认证信息
  111. public function rate(Request $request)
  112. {
  113. $user = $request->user();
  114. $res=isUser::where('uid',$user['uid'])->find();
  115. if(!$res){
  116. return app('json')->success('未发起企业认证');
  117. }
  118. if($res['is_auth']==1){
  119. $data=[
  120. 'state'=>$res['is_auth'],
  121. 'reason'=>$res['reason']
  122. ];
  123. }
  124. if($res['is_auth']==2){
  125. $data=[
  126. 'id'=>$res['id'],
  127. 'name'=>$res['name'],
  128. 'type'=>$res['type'],
  129. 'sub'=>$res['sub'],
  130. 'contacts'=>$res['contacts'],
  131. 'post'=>$res['post'],
  132. 'phone'=>$res['phone'],
  133. 'headimg'=>$res['headimg'],
  134. 'state'=>$res['is_auth'],
  135. 'reason'=>$res['reason'],
  136. 'introduce'=> html_entity_decode($res['introduce']),
  137. ];
  138. }
  139. return app('json')->success($data);
  140. }
  141. // 信息修改
  142. public function edit(Request $request)
  143. {
  144. list($name, $headimg,$introduce) = UtilService::postMore([
  145. ['name', ''],
  146. ['headimg', ''],
  147. ['introduce', ''],
  148. ], $request, true);
  149. if (isUser::where('uid',$request->uid())->update(['name'=>$name,'headimg'=>$headimg,'introduce'=>$introduce])) return app('json')->successful('修改成功');
  150. return app('json')->fail('修改失败');
  151. }
  152. // 统计企业文章数
  153. public function essay($list,$user){
  154. $coutn=count($list);
  155. $list1=[];
  156. foreach($list as $k =>$v){
  157. // 查询该用户是否已订阅该媒体
  158. $is_sub=InterestUser::where('uid',$user['uid'])->where('mer_id',$v['id'])->count();
  159. $count=Article::where('mer_id',$v['id'])->count();
  160. $read=Article::where('mer_id',$v['id'])->sum('visit');
  161. $list1[]=[
  162. 'id'=>$v['id'],
  163. 'name'=>$v['name'],
  164. 'headimg'=>$v['headimg'],
  165. 'visit'=>$read,
  166. 'count'=>$count,
  167. 'is_sub'=>$is_sub,
  168. 'introduce'=> html_entity_decode($v['introduce']),
  169. ];
  170. }
  171. $lists=['coutn'=>$coutn,'list'=>$list1];
  172. return $lists;
  173. }
  174. }