StoreTryRecord.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. /**
  3. * Created by PhpStorm
  4. * Author: 向往那片天空
  5. * Date: 2020/6/9
  6. * Time: 9:07
  7. * 微信/QQ: 250023777
  8. * 格言: 抓住中心,宁精勿杂,宁专勿多
  9. */
  10. namespace app\admin\model\ump;
  11. use app\admin\model\order\StoreOrder;
  12. use crmeb\basic\BaseModel;
  13. use crmeb\services\PHPExcelService;
  14. use crmeb\traits\ModelTrait;
  15. class StoreTryRecord extends BaseModel
  16. {
  17. /**
  18. * 数据表主键
  19. * @var string
  20. */
  21. protected $pk = 'id';
  22. /**
  23. * 模型名称
  24. * @var string
  25. */
  26. protected $name = 'store_try_record';
  27. use ModelTrait;
  28. public static function validWhere()
  29. {
  30. return self::where('is_del', 0);
  31. }
  32. /**
  33. * 导出EXCEL表格,并下载
  34. * @param $where
  35. */
  36. public static function SaveExcel($where)
  37. {
  38. $title = StoreTryProduct::where("id={$where['tid']}")->value('store_name');
  39. $list = self::where("tid={$where['tid']} and is_del=0")->order('is_check desc,id desc')->select();
  40. count($list) && $list = $list->toArray();
  41. $excel = [];
  42. foreach ($list as $item) {
  43. $excel[] = [
  44. $item['id'],
  45. $item['uid'],
  46. $item['name'],
  47. $item['phone'],
  48. $item['address'],
  49. $item['attr'],
  50. $item['is_check'] ? '是' : '否',
  51. date('Y-m-d H:i:s', $item['add_time'])
  52. ];
  53. }
  54. PHPExcelService::setExcelHeader(['编号', '用户编号', '姓名', '电话', '地址', '规格', '是否选用', '申请时间'])
  55. ->setExcelTile($title . '-试用申请表', 'sheet1', ' 生成时间:' . date('Y-m-d H:i:s', time()))
  56. ->setExcelContent($excel)
  57. ->ExcelSave();
  58. }
  59. /**
  60. * @param $where
  61. * @return array
  62. */
  63. public static function systemPage($where)
  64. {
  65. $model = self::setWhere($where)->limit(bcmul($where['page'], $where['limit'], 0), $where['limit']);
  66. return self::page($model, $where, $where['limit']);
  67. }
  68. /**
  69. * 设置拼团 where 条件
  70. * @param $where
  71. * @param null $model
  72. * @return mixed
  73. */
  74. public static function setWhere($where, $model = null)
  75. {
  76. $model = $model === null ? new self() : $model;
  77. $model = $model->where('tid', $where['tid']);
  78. if (isset($where['uid']) && $where['uid'] != '') {
  79. $model = $model->where('uid|name|phone', 'like', "%$where[uid]%");
  80. }
  81. return $model->order('is_check desc,id desc')->where('is_del', 0);
  82. }
  83. }