HotliveorderController.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <?php
  2. /**
  3. * 上热门订单列表
  4. */
  5. namespace app\admin\controller;
  6. use cmf\controller\AdminBaseController;
  7. use think\facade\Db;
  8. class HotliveorderController extends AdminbaseController {
  9. protected function getStatus($k=''){
  10. $status=array(
  11. '-1'=>'未使用',
  12. '0'=>'使用中',
  13. '1'=>'已使用'
  14. );
  15. if($k===''){
  16. return $status;
  17. }
  18. return isset($status[$k]) ? $status[$k] : '';
  19. }
  20. function index(){
  21. $data = $this->request->param();
  22. $map=[];
  23. $start_time=isset($data['start_time']) ? $data['start_time']: '';
  24. $end_time=isset($data['end_time']) ? $data['end_time']: '';
  25. if($start_time!=""){
  26. $map[]=['addtime','>=',strtotime($start_time)];
  27. }
  28. if($end_time!=""){
  29. $map[]=['addtime','<=',strtotime($end_time) + 60*60*24];
  30. }
  31. $uid=isset($data['uid']) ? $data['uid']: '';
  32. if($uid!=''){
  33. $map[]=['uid','=',$uid];
  34. }
  35. $status=isset($data['status']) ? $data['status']: '';
  36. if($status!=''){
  37. $map[]=['status','=',$status];
  38. }
  39. $lists = Db::name("hotlive_orders")
  40. ->where($map)
  41. ->order("addtime desc")
  42. ->paginate(20);
  43. $lists->each(function($v,$k){
  44. $v['userinfo']=getUserInfo($v['uid']);
  45. $v['addtime']=date("Y-m-d H:i:s",$v['addtime']);
  46. if($v['starttime']){
  47. $v['starttime']=date("Y-m-d H:i:s",$v['starttime']);
  48. }else{
  49. $v['starttime']="--";
  50. }
  51. if($v['endtime']){
  52. $v['endtime']=date("Y-m-d H:i:s",$v['endtime']);
  53. }else{
  54. $v['endtime']="--";
  55. }
  56. return $v;
  57. });
  58. $lists->appends($data);
  59. $page = $lists->render();
  60. $this->assign('lists', $lists);
  61. $this->assign("page", $page);
  62. $configpub=getConfigPub();
  63. $this->assign('name_coin',$configpub['name_coin']?$configpub['name_coin']:'');
  64. $this->assign("status",$this->getStatus());
  65. return $this->fetch();
  66. }
  67. //钻石消费记录
  68. function export(){
  69. $data = $this->request->param();
  70. $map=[];
  71. $start_time=isset($data['start_time']) ? $data['start_time']: '';
  72. $end_time=isset($data['end_time']) ? $data['end_time']: '';
  73. if($start_time!=""){
  74. $map[]=['addtime','>=',strtotime($start_time)];
  75. }
  76. if($end_time!=""){
  77. $map[]=['addtime','<=',strtotime($end_time) + 60*60*24];
  78. }
  79. $uid=isset($data['uid']) ? $data['uid']: '';
  80. if($uid!=''){
  81. $map[]=['uid','=',$uid];
  82. }
  83. $status=isset($data['status']) ? $data['status']: '';
  84. if($status!=''){
  85. $map[]=['status','=',$status];
  86. }
  87. $xlsName = "上热门订单记录";
  88. $lists = Db::name("hotlive_orders")
  89. ->where($map)
  90. ->order("id desc")
  91. ->select()
  92. ->toArray();
  93. foreach($lists as $k=>$v){
  94. $userinfo=getUserInfo($v['uid']);
  95. $v['user_nickname']=$userinfo['user_nickname']."(".$v['uid'].")";
  96. $v['addtime']=date("Y-m-d H:i:s",$v['addtime']);
  97. if($v['starttime']){
  98. $v['starttime']=date("Y-m-d H:i:s",$v['starttime']);
  99. }else{
  100. $v['starttime']="--";
  101. }
  102. if($v['endtime']){
  103. $v['endtime']=date("Y-m-d H:i:s",$v['endtime']);
  104. }else{
  105. $v['endtime']="--";
  106. }
  107. $v['status']=$this->getStatus($v['status']);
  108. $lists[$k]=$v;
  109. }
  110. $configpub=getConfigPub();
  111. $name_coin=$configpub['name_coin'];
  112. $cellName = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N');
  113. $xlsCell = array(
  114. array('id','序号'),
  115. array('user_nickname','会员 (ID)'),
  116. array('coin','花费'.$name_coin),
  117. array('exposure','预计曝光值'),
  118. array('real_exposure','实际曝光值'),
  119. array('user_min_num','预计最低人数'),
  120. array('user_max_num','预计最高人数'),
  121. array('real_user_num','实际总人数'),
  122. array('showid','直播标识'),
  123. array('starttime','直播开始时间'),
  124. array('endtime','直播结束时间'),
  125. array('addtime','订单生成时间'),
  126. array('back_coin','退回'.$name_coin),
  127. array('status','订单状态'),
  128. );
  129. exportExcel($xlsName,$xlsCell,$lists,$cellName);
  130. }
  131. }