SdkOrderSuccessLogic.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | saiadmin [ saiadmin快速开发框架 ]
  4. // +----------------------------------------------------------------------
  5. // | Author: your name
  6. // +----------------------------------------------------------------------
  7. namespace app\v1\logic\gameLog;
  8. use plugin\saiadmin\basic\BaseLogic;
  9. use plugin\saiadmin\exception\ApiException;
  10. use plugin\saiadmin\utils\Helper;
  11. use app\v1\model\gameLog\SdkOrderSuccess;
  12. use plugin\saiadmin\service\OpenSpoutWriter;
  13. /**
  14. * 订单记录表(支付成功)逻辑层
  15. */
  16. class SdkOrderSuccessLogic extends BaseLogic
  17. {
  18. /**
  19. * 构造函数
  20. */
  21. public function __construct()
  22. {
  23. $this->model = new SdkOrderSuccess();
  24. }
  25. /**
  26. * 导出数据
  27. */
  28. public function export($where = [])
  29. {
  30. $query = $this->search($where);
  31. $data = $this->getAll($query);
  32. $data = $this->trandformListColumn($data, ['game', 'ip', 'agent','auth', 'pay_channel']);
  33. $data = array_map(function($item){
  34. return [
  35. 'orderid' => $item['orderid'],
  36. 'user_name' => $item['user_name'],
  37. 'agent_id' => $item['agent_id'],
  38. 'site_id' => $item['site_id'],
  39. 'game_name' => $item['game_name'],
  40. 'server_id' => $item['server_id'],
  41. 'server_name' => $item['server_name'],
  42. 'pay_channel_name' => $item['pay_channel_name'],
  43. 'money' => $item['money'],
  44. 'pay_date' => $item['pay_date'],
  45. 'reg_date' => $item['reg_date'],
  46. // 'is_first_pay' => $item['is_first_pay'],
  47. 'agent_name' => $item['agent_name'],
  48. 'auth_name' => $item['auth_name'],
  49. ];
  50. }, $data);
  51. // 是否首次付费
  52. // $filter = [
  53. // 'is_first_pay' => [
  54. // ['value' => 1, 'label' => '是'],
  55. // ['value' => 0, 'label' => '否']
  56. // ]
  57. // ];
  58. $file_name = '充值明细_'.date('YmdHis').'.xlsx';
  59. $header = ['订单号', '用户名', '渠道ID', '广告位ID', '游戏名', '服务器ID', '服务器名', '支付方式', '充值金额', '充值时间', '注册时间', '渠道名', '负责人'];
  60. $writer = new OpenSpoutWriter($file_name);
  61. $writer->setWidth([15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15]);
  62. $writer->setHeader($header);
  63. $writer->setData($data, null);
  64. // $writer->setData($data, null, $filter);
  65. $file_path = $writer->returnFile();
  66. return response()->download($file_path, urlencode($file_name));
  67. }
  68. }