Excel.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  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. $code_num = '';
  32. if ($v['code_num']<0){
  33. $code_num = 0;
  34. } else {
  35. $code_num = $v['code_num'];
  36. }
  37. $d = array
  38. (
  39. $v['order_num'],
  40. $member_name,
  41. $member_mobile,
  42. $active_name,
  43. $v['num'],
  44. $code_num,
  45. $v['price'],
  46. $status,
  47. $pay_type,
  48. $cdate,
  49. );
  50. $body[] = $d;
  51. }
  52. $file = Dever::input('excel_name');
  53. return Dever::excelExport($body, $header, $file);
  54. }
  55. #活动核销码导出
  56. public function out_active_code($data)
  57. {
  58. $header = array('活动名称', '参加人姓名', '参加人手机号', '购买人姓名', '购买人手机号', '领取日期','座位号');
  59. $body = array();
  60. foreach ($data as $k => $v) {
  61. $active_name = '';
  62. if ($v['active_id']) {
  63. $active = Dever::db('active/info')->find($v['active_id']);
  64. $active_name = $active['name'];
  65. }
  66. $join_name = '';
  67. $join_mobile = '';
  68. if ($v['join_uid']) {
  69. $user = Dever::db('active/user')->find($v['join_uid']);
  70. if ($user){
  71. $join_name = $user['name'];
  72. $join_mobile = $user['mobile'];
  73. }
  74. }
  75. $buy_name = '';
  76. $buy_mobile = '';
  77. if ($v['buy_uid']) {
  78. $user = Dever::db('active/user')->find($v['buy_uid']);
  79. if ($user){
  80. $buy_name = $user['name'];
  81. $buy_mobile = $user['mobile'];
  82. }
  83. }
  84. $cdate = '';
  85. if ($v['cdate']) {
  86. $cdate = date('Y-m-d H:i:s',$v['cdate']);
  87. }
  88. $seat_num = '';
  89. if ($v['seat_num']) {
  90. $seat_num = $v['seat_num'];
  91. }
  92. $d = array
  93. (
  94. $active_name,
  95. $join_name,
  96. $join_mobile,
  97. $buy_name,
  98. $buy_mobile,
  99. $cdate,
  100. $seat_num,
  101. );
  102. $body[] = $d;
  103. }
  104. $file = Dever::input('excel_name');
  105. return Dever::excelExport($body, $header, $file);
  106. }
  107. public function import($file)
  108. {
  109. $file = Dever::local($file);
  110. $data = Dever::excelImport($file,0);
  111. // print_R($data);die;
  112. if ($data) {
  113. $res = array();
  114. foreach($data as $k=>$v){
  115. if ($k>=2) {
  116. $active_name = $v['A'];
  117. $mobile = trim($v['C']);
  118. // $seat_num = $v['G'];
  119. if (isset($v['G']) && $v['G']) {
  120. $active = Dever::db('active/info')->find(array('name'=>$active_name));
  121. $user = Dever::db('active/user')->find(array('mobile'=>$mobile));
  122. $code = Dever::db('active/code')->find(array('active_id'=>$active['id'],'join_uid'=>$user['id']));
  123. $where['where_id'] = $code['id'];
  124. $where['seat_num'] = $v['G'];
  125. Dever::db('active/code')->update($where);
  126. }
  127. }
  128. }
  129. }
  130. }
  131. }