MerchantUser.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <?php
  2. /**
  3. * @package merchant
  4. *
  5. * @author xaboy
  6. * @day 2020/5/29
  7. *
  8. *
  9. */
  10. namespace app\controller\merchant\user;
  11. use crmeb\basic\BaseController;
  12. use think\App;
  13. use think\facade\Db;
  14. class MerchantUser extends BaseController
  15. {
  16. /**
  17. * 商户锁定的用户列表
  18. */
  19. public function lst()
  20. {
  21. [$page, $limit] = $this->getPage();
  22. $where=['mer_id'=>$this->request->merId()];
  23. $account=$this->request->param('account', '');
  24. if($account){
  25. $where['account']=$account;
  26. }
  27. $data=Db::name('user')->where($where)->page($page,$limit)->select();
  28. if(!$data->isEmpty())
  29. $data=$data->toArray();
  30. return app('json')->success($data);
  31. }
  32. /*
  33. * 会员列表
  34. */
  35. public function member_lat()
  36. {
  37. $mer_id = $this->request->merId();
  38. [$page, $limit] = $this->getPage();
  39. $account=$this->request->params(['account']);
  40. if(!empty($account['account'])){
  41. $where=['u.account'=>$account['account']];
  42. }else{
  43. $where=[];
  44. }
  45. $all_num=Db::name('entropy_barter_user_'.$mer_id)->count('eb_id');
  46. $start_time=strtotime(date('Y-m-d'));
  47. $end_time=strtotime(date('Y-m-d'))+86400;
  48. $today_num=Db::name('entropy_barter_user_'.$mer_id)->where('ctime','between',[$start_time,$end_time])->count('eb_id');
  49. $merchant=Db::name('merchant')->where('mer_id',$mer_id)->find();
  50. if(!empty($merchant['merchant_type'])&&$merchant['merchant_type']==2){
  51. $member_data=Db::name('entropy_barter_user_'.$mer_id)
  52. ->alias('ebu')
  53. ->rightJoin('user u','u.uid=ebu.uid')
  54. ->where($where)
  55. ->page($page,$limit)
  56. ->field('ebu.eb_id,u.nickname,u.avatar,u.account,ebu.ctime,ebu.cumulative_money,u.uid,ebu.integral')
  57. ->select();
  58. if($member_data->isEmpty()){
  59. }else{
  60. $member_data=$member_data->toArray();
  61. foreach ($member_data as $k=>&$v){
  62. $v['ctime']=date('Y-m-d H:i:s',$v['ctime']);
  63. $v['tj_num']=Db::name('entropy_barter_user_'.$mer_id)->where('top_eb_id',$v['eb_id'])->count('eb_id');
  64. }
  65. }
  66. }else{
  67. return app('json')->fail('没有权限访问该接口');
  68. }
  69. $return_data=[
  70. 'all_num'=>$all_num,
  71. 'today_num'=>$today_num,
  72. 'member_data'=>$member_data
  73. ];
  74. return app('json')->success($return_data);
  75. }
  76. public function member_recommend($uid)
  77. {
  78. $mer_id = $this->request->merId();
  79. [$page, $limit] = $this->getPage();
  80. $eb_data=Db::name('entropy_barter_user_'.$mer_id)
  81. ->alias('ebu')
  82. ->leftJoin('user u','u.uid=ebu.uid')
  83. ->where('ebu.uid',$uid)
  84. ->field('u.nickname,u.avatar,u.account,ebu.*')
  85. ->find();
  86. $eb_data['ctime']=date('Y-m-d H:i:s',$eb_data['ctime']);
  87. if(!$eb_data){
  88. return app('json')->fail('未查到会员信息');
  89. }
  90. $top_data=Db::name('entropy_barter_user_'.$mer_id)
  91. ->alias('ebu')
  92. ->rightJoin('user u','u.uid=ebu.uid')
  93. ->where('eb_id',$eb_data['top_eb_id'])
  94. ->field('u.nickname,u.avatar,u.account')
  95. ->find();
  96. $recommend_one_data=Db::name('entropy_barter_user_'.$mer_id)
  97. ->alias('ebu')
  98. ->rightJoin('user u','u.uid=ebu.uid')
  99. ->where('ebu.top_eb_id',$eb_data['eb_id'])
  100. ->field('u.nickname,u.avatar,u.account,ebu.ctime')
  101. ->page($page,$limit)
  102. ->select()->toArray();
  103. foreach ($recommend_one_data as $k=>&$v){
  104. $v['ctime']=date('Y-m-d H:i:s',$v['ctime']);
  105. }
  106. $recommend_one_num=Db::name('entropy_barter_user_'.$mer_id)
  107. ->alias('ebu')
  108. ->rightJoin('user u','u.uid=ebu.uid')
  109. ->where('ebu.top_eb_id',$eb_data['eb_id'])
  110. ->count('ebu.eb_id');
  111. $recommend_one_id=Db::name('entropy_barter_user_'.$mer_id)->where('top_eb_id',$eb_data['eb_id'])->column('eb_id');
  112. $recommend_one_id=implode(',',$recommend_one_id);
  113. $recommend_two_data=Db::name('entropy_barter_user_'.$mer_id)
  114. ->alias('ebu')
  115. ->rightJoin('user u','u.uid=ebu.uid')
  116. ->whereIn('ebu.top_eb_id',$recommend_one_id)
  117. ->field('u.nickname,u.avatar,u.account,ebu.ctime')
  118. ->page($page,$limit)
  119. ->select()->toArray();
  120. foreach ($recommend_two_data as $k=>&$v){
  121. $v['ctime']=date('Y-m-d H:i:s',$v['ctime']);
  122. }
  123. $recommend_two_num=Db::name('entropy_barter_user_'.$mer_id)
  124. ->alias('ebu')
  125. ->rightJoin('user u','u.uid=ebu.uid')
  126. ->whereIn('ebu.top_eb_id',$recommend_one_id)
  127. ->count();
  128. $return_data=[
  129. 'top_data'=>$top_data,
  130. 'recommend_one_data'=>$recommend_one_data,
  131. 'recommend_one_num'=>$recommend_one_num,
  132. 'recommend_two_data'=>$recommend_two_data,
  133. 'recommend_two_num'=>$recommend_two_num,
  134. 'eb_data'=>$eb_data,
  135. ];
  136. return app('json')->success($return_data);
  137. }
  138. }