ManyDiscipline.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. /**
  3. * @author: xaboy<365615158@qq.com>
  4. * @day: 2017/11/11
  5. */
  6. namespace app\admin\model\many;
  7. use crmeb\services\PHPExcelService;
  8. use crmeb\traits\ModelTrait;
  9. use crmeb\basic\BaseModel;
  10. /**
  11. * Class StoreCategory
  12. * @package app\admin\model\store
  13. */
  14. class ManyDiscipline extends BaseModel
  15. {
  16. /**
  17. * 数据表主键
  18. * @var string
  19. */
  20. protected $pk = 'id';
  21. /**
  22. * 模型名称
  23. * @var string
  24. */
  25. protected $name = 'many_discipline';
  26. use ModelTrait;
  27. protected $autoWriteTimestamp = true;
  28. public static function list($where)
  29. {
  30. $model = self::alias('a')
  31. ->field('a.*,b.name')
  32. ->order('a.id DESC')
  33. ->leftJoin('many b', 'b.id = a.many_id');
  34. if ($where['stage'])$model->where('a.stage' , '=', $where['stage']);
  35. if (trim($where['many_id']) != '')$model->where('b.id' , '=', $where['many_id']);
  36. if (trim($where['data']) != '') $model = self::getModelTime($where, $model, 'a.create_time');
  37. $data['count'] = $model->count();
  38. if (isset($where['excel']) && $where['excel'] == 1) {
  39. $list = ($list = $model->select()) && count($list) ? $list->toArray() : [];
  40. } else {
  41. $list = ($list = $model->page((int)$where['page'], (int)$where['limit'])->select()) && count($list) ? $list->toArray() : [];
  42. }
  43. if (isset($where['excel']) && $where['excel'] == 1) {
  44. self::SaveExcel($list);
  45. }
  46. if ($where['page'] && $where['limit']){
  47. $model->page($where['page'], $where['limit']);
  48. }else{
  49. $model->page(20, 1);
  50. }
  51. $list = $model->select()->toArray();
  52. $data['data'] = $list;
  53. return $data;
  54. }
  55. /*
  56. * 保存并下载excel
  57. * $list array
  58. * return
  59. */
  60. public static function SaveExcel($list)
  61. {
  62. $export = [];
  63. foreach ($list as $index => $item) {
  64. $status = $item['status']== 0 ? '正常' : $item['status']== 1 ? '成功返还':$item['status']== 2 ? '失败返还': '未知';
  65. $export[] = [
  66. $item['order_id'],
  67. $item['nickname'],
  68. $item['name'],
  69. $item['stage'],
  70. $item['price'],
  71. $status,
  72. $item['create_time'],
  73. ];
  74. }
  75. PHPExcelService::setExcelHeader(['订单号', '用户', '众筹名称', '期数', '金额', '状态',
  76. '订单时间'])
  77. ->setExcelTile('订单导出' . date('YmdHis', time()), '订单信息' . time(), ' 生成时间:' . date('Y-m-d H:i:s', time()))
  78. ->setExcelContent($export)
  79. ->ExcelSave();
  80. }
  81. }