UserController.php 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use App\User;
  5. use Carbon\Carbon;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Auth;
  8. use Illuminate\Support\Facades\DB;
  9. class UserController extends Controller{
  10. /*
  11. * 登录后获取用户信息
  12. */
  13. public function user_info(){
  14. try{
  15. $data=DB::table('season')->get();
  16. $da=[];
  17. if ($data){
  18. foreach ($data as $k=>$v){
  19. $da[$k]['start']=(int)($v->round_start_time)*1000;
  20. $da[$k]['end']=(int)($v->round_end_time-1)*1000;
  21. $da[$k]['season']=$v->season;
  22. }
  23. }
  24. $user=Auth::user();
  25. $role=DB::table('admin_role')->where('name',$user->role)->first();
  26. return $this->response()->array([
  27. 'code'=>200,
  28. 'data'=>[
  29. 'id'=>$user->id,
  30. 'name'=>$user->name,
  31. 'avatar'=>$user->avatar,
  32. 'routes'=>$role->routes,
  33. 'season_list'=>$da
  34. ]
  35. ]);
  36. }catch(Exception $e) {
  37. }
  38. }
  39. /*
  40. * 修改密码
  41. */
  42. public function update_password(Request $request){
  43. $user=Auth::user();
  44. if (!hash_equals($user->password,MD5($request->old))) {
  45. //返回401
  46. return $this->response->array([
  47. 'code' => 300,
  48. 'message' => '密码错误'
  49. ]);
  50. }
  51. $re=DB::table('admin_user')->where('id',$user->id)->update(['password'=>md5($request->new)]);
  52. if ($re){
  53. return $this->success([]);
  54. }
  55. return $this->error(500);
  56. }
  57. /*
  58. * 获取所有用户
  59. */
  60. public function user_all(Request $request){
  61. if ($request->has('level')){
  62. $level=$request->level;
  63. }else{
  64. $level=0;
  65. }
  66. if ($level==0){
  67. $user_all=DB::table('user')->where('level_name','<>','政委')->orderBy('id')->paginate(15);
  68. }elseif ($level==1){
  69. $user_all=DB::table('user')->where('level_name','=','销售主管')->orderBy('id')->paginate(15);
  70. }elseif ($level==2){
  71. $user_all=DB::table('user')->where('level_name','=','销售经理')->orderBy('id')->paginate(15);
  72. }elseif ($level==3){
  73. $user_all=DB::table('user')->where('level_name','=','代理公司')->orderBy('id')->paginate(15);
  74. }
  75. if ($user_all->items()){
  76. $data=[];
  77. foreach ($user_all as $k=>$v){
  78. if ($v->level_name=='代理公司'){
  79. $data[$k]['war_name']=DB::table('service')->where('phone',$v->phone)->value('war_names');
  80. }else{
  81. $data[$k]['war_name']=DB::table('service')->where('phone',$v->up_phone)->value('war_names');
  82. }
  83. $data[$k]['avatar']=$v->avatar;
  84. $data[$k]['nickname']=$v->nickname;
  85. $data[$k]['phone']=$v->phone;
  86. $data[$k]['level_name']=$v->level_name;
  87. $data[$k]['up_phone']=$v->up_phone;
  88. $data[$k]['up_name']=$v->up_name;
  89. }
  90. // $total=$user->total();
  91. }else{
  92. $data=[];
  93. }
  94. return $this->response()->array([
  95. 'code'=>200,
  96. 'data'=>[
  97. 'total'=>$user_all->total(),
  98. 'list'=>$data
  99. ]
  100. ]);
  101. }
  102. /*
  103. * 用户修改
  104. */
  105. public function user_update(Request $request){
  106. $data['level_name']=$request->level_name;
  107. $data['up_name']=$request->up_name;
  108. $re=DB::table('user')->where('id',$request->id)->update([
  109. 'level_name'=>$request->level_name,
  110. 'up_name'=>$request->up_name,
  111. ]);
  112. if ($re){
  113. return $this->success([]);
  114. }
  115. return $this->error(400);
  116. }
  117. /*
  118. * 查找用户
  119. */
  120. public function user_search(Request $request){
  121. $string=$request->phone;
  122. if (is_numeric($string)){
  123. $s='user.phone';
  124. }else{
  125. $s='user.nickname';
  126. }
  127. $user=DB::table('user')->where($s,'like','%'.$string.'%')->paginate(15);
  128. $total=0;
  129. if ($user->items()){
  130. $data=[];
  131. foreach ($user as $k=>$v){
  132. if ($v->level_name=='代理公司'){
  133. $data[$k]['war_name']=DB::table('service')->where('phone',$v->phone)->value('war_names');
  134. }else{
  135. $data[$k]['war_name']=DB::table('service')->where('phone',$v->up_phone)->value('war_names');
  136. }
  137. $data[$k]['avatar']=$v->avatar;
  138. $data[$k]['nickname']=$v->nickname;
  139. $data[$k]['phone']=$v->phone;
  140. $data[$k]['level_name']=$v->level_name;
  141. $data[$k]['up_phone']=$v->up_phone;
  142. $data[$k]['up_name']=$v->up_name;
  143. }
  144. $total=$user->total();
  145. }else{
  146. $data=[];
  147. }
  148. return $this->success_list($data,200,$total);
  149. }
  150. //获取用户售货信息
  151. public function user_sold(Request $request){
  152. $user=Auth::user();
  153. $id = $request->id;
  154. //获取最新赛季标识
  155. $season = DB::table('basic')->where('keys','=','season')->value('value');
  156. //精装版销售量
  157. $hard_num = DB::table('inte_review')->where([['uid','=',$id],['season','=',$season]
  158. ])->select('type_one')->sum('type_one');
  159. //简约版销售量
  160. $simple_num = DB::table('inte_review')->where([['uid','=',$id],['season','=',$season]
  161. ])->select('type_two')->sum('type_two');
  162. //老人版销售量
  163. $old_num = DB::table('inte_review')->where([['uid','=',$id],['season','=',$season]
  164. ])->select('type_three')->sum('type_three');
  165. //销售总量,销售总额
  166. $total_order = DB::table('user')->where('id','=',$id)->select('integral','money','total')->first();
  167. //今日学分,取出今日范围内的inte_log表内容
  168. $today_score = DB::table('inte_log')
  169. ->where('uid','=',$id)
  170. ->whereBetween('created_at',[Carbon::today(),Carbon::now()])->sum('integral');
  171. //昨日学分数
  172. $yes_score = DB::table('inte_log')->where('uid','=',$id)->whereBetween('created_at',[Carbon::yesterday(),Carbon::today()])->sum('integral');
  173. //今日总销量
  174. $today_num1 = DB::table('inte_review')->where('uid','=',$id)->whereBetween('created_at',[Carbon::today(),Carbon::now()])->sum('type_one');
  175. $today_num2 = DB::table('inte_review')->where('uid','=',$id)->whereBetween('created_at',[Carbon::today(),Carbon::now()])->sum('type_two');
  176. $today_num3 = DB::table('inte_review')->where('uid','=',$id)->whereBetween('created_at',[Carbon::today(),Carbon::now()])->sum('type_three');
  177. $today_num = $today_num1+$today_num2+$today_num3;
  178. //昨日销量
  179. $yes_num1 = DB::table('inte_review')->where('uid','=',$id)->whereBetween('created_at',[Carbon::yesterday(),Carbon::today()])->sum('type_one');
  180. $yes_num2 = DB::table('inte_review')->where('uid','=',$id)->whereBetween('created_at',[Carbon::yesterday(),Carbon::today()])->sum('type_two');
  181. $yes_num3 = DB::table('inte_review')->where('uid','=',$id)->whereBetween('created_at',[Carbon::yesterday(),Carbon::today()])->sum('type_three');
  182. $yes_num = $yes_num1+$yes_num2+$yes_num3;
  183. return $this->response()->array([
  184. 'code'=>200,
  185. 'data'=>[
  186. "total_order"=>$total_order->total,
  187. "total_sales"=>$total_order->money,
  188. "total_score"=>$total_order->integral,
  189. "today_score"=>$today_score,
  190. "yes_score"=>$yes_score,
  191. "hard_num"=>$hard_num,
  192. "simple_num"=>$simple_num,
  193. "old_num"=>$old_num,
  194. "today_num"=>$today_num,
  195. "yes_num"=>$yes_num,
  196. ]
  197. ]);
  198. }
  199. }