Excel.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <?php
  2. namespace Active\Lib;
  3. use Dever;
  4. Class Excel {
  5. #活动订单的导出
  6. public function out_active_order($data){
  7. $header = array('订单单号', '姓名', '手机号', '活动名称', '购买数量', '金额', '支付状态', '支付类型','购买时间');
  8. $body = array();
  9. foreach ($data as $k => $v){
  10. $user = Dever::db('active/user')->find($v['uid']);
  11. $member = Dever::load('active/lib/user')->agent($user);
  12. $active = Dever::db('active/info')->find($v['active_id']);
  13. $member_name = '';
  14. $member_mobile = '';
  15. if($user){
  16. $member_name = $user['name'];
  17. $member_mobile = $user['mobile'];
  18. }
  19. $active_name = '';
  20. if($active && $active['name']){
  21. $active_name = $active['name'];
  22. }
  23. $config_status = Dever::db('active/order')->config['config_status'];
  24. $status = Dever::status($config_status,$v['status']);
  25. $config_pay_type = Dever::db('active/order')->config['config_pay_type'];
  26. $pay_type = Dever::status($config_pay_type,$v['pay_type']);
  27. $cdate = '';
  28. if($v['cdate']){
  29. $cdate = date('Y-m-d H:i',$v['cdate']);
  30. }
  31. $d = array
  32. (
  33. $v['order_num'],
  34. $member_name,
  35. $member_mobile,
  36. $active_name,
  37. $v['num'],
  38. $v['price'],
  39. $status,
  40. $pay_type,
  41. $cdate,
  42. );
  43. $body[] = $d;
  44. }
  45. $file = Dever::input('excel_name');
  46. return Dever::excelExport($body, $header, $file);
  47. }
  48. #活动核销码导出
  49. public function out_active_code($data)
  50. {
  51. $header = array('活动名称', '参加人姓名', '参加人手机号', '购买人姓名', '购买人手机号', '领取日期','座位号');
  52. $body = array();
  53. foreach ($data as $k => $v) {
  54. $active_name = '';
  55. if ($v['active_id']) {
  56. $active = Dever::db('active/info')->find($v['active_id']);
  57. $active_name = $active['name'];
  58. }
  59. $join_name = '';
  60. $join_mobile = '';
  61. if ($v['join_uid']) {
  62. $user = Dever::db('active/user')->find($v['join_uid']);
  63. if ($user){
  64. $join_name = $user['name'];
  65. $join_mobile = $user['mobile'];
  66. }
  67. }
  68. $buy_name = '';
  69. $buy_mobile = '';
  70. if ($v['buy_uid']) {
  71. $user = Dever::db('active/user')->find($v['buy_uid']);
  72. if ($user){
  73. $buy_name = $user['name'];
  74. $buy_mobile = $user['mobile'];
  75. }
  76. }
  77. $cdate = '';
  78. if ($v['cdate']) {
  79. $cdate = date('Y-m-d H:i:s',$v['cdate']);
  80. }
  81. $seat_num = '';
  82. if ($v['seat_num']) {
  83. $seat_num = $v['seat_num'];
  84. }
  85. $d = array
  86. (
  87. $active_name,
  88. $join_name,
  89. $join_mobile,
  90. $buy_name,
  91. $buy_mobile,
  92. $cdate,
  93. $seat_num,
  94. );
  95. $body[] = $d;
  96. }
  97. $file = Dever::input('excel_name');
  98. return Dever::excelExport($body, $header, $file);
  99. }
  100. public function import($file)
  101. {
  102. $file = Dever::local($file);
  103. $data = Dever::excelImport($file,0);
  104. // print_R($data);die;
  105. if ($data) {
  106. $res = array();
  107. foreach($data as $k=>$v){
  108. if ($k>=2) {
  109. $active_name = $v['A'];
  110. $mobile = trim($v['C']);
  111. // $seat_num = $v['G'];
  112. if (isset($v['G']) && $v['G']) {
  113. $active = Dever::db('active/info')->find(array('name'=>$active_name));
  114. $user = Dever::db('active/user')->find(array('mobile'=>$mobile));
  115. $code = Dever::db('active/code')->find(array('active_id'=>$active['id'],'join_uid'=>$user['id']));
  116. $where['where_id'] = $code['id'];
  117. $where['seat_num'] = $v['G'];
  118. Dever::db('active/code')->update($where);
  119. }
  120. }
  121. }
  122. }
  123. }
  124. }