Auction.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace app\models\auction;
  3. use app\models\store\StoreProduct;
  4. use crmeb\services\SystemConfigService;
  5. use think\facade\Db;
  6. use crmeb\traits\ModelTrait;
  7. use crmeb\basic\BaseModel;
  8. /**
  9. * TODO 场馆model
  10. * Class Article
  11. * @package app\models\article
  12. */
  13. class Auction extends BaseModel
  14. {
  15. /**
  16. * 数据表主键
  17. * @var string
  18. */
  19. protected $pk = 'id';
  20. /**
  21. * 模型名称
  22. * @var string
  23. */
  24. protected $name = 'auction';
  25. use ModelTrait;
  26. public function list($data, $uid)
  27. {
  28. $model = self::where([['delete_time', '=', 0], ['status' ,'=', '1']]);
  29. $model->page($data['page'], $data['limit']);
  30. $model->order('id DESC, sort DESC');
  31. $id = [];
  32. $booking = AuctionBooking::where([['uid', '=', $uid], ['create_time', '>', strtotime(date('Y-m-d'), time())]])->field('auction_id')->select();
  33. foreach ($booking as $v) {
  34. $id[] = $v['auction_id'];
  35. }
  36. if ($data['advance']){
  37. $model->where('id', 'in', $id);
  38. }
  39. $list = $model->select();
  40. $list = count($list) ? $list->toArray() : [];
  41. if ($list){
  42. foreach ($list as $k =>$v)
  43. {
  44. $list[$k]['time'] = strtotime($v['radd_time']) - 1800;
  45. $list[$k]['e_time'] = strtotime($v['rend_time']);
  46. $list[$k]['day'] = date('Y-m-d H:i:s', strtotime($v['radd_time']) - 1800);
  47. if (in_array($v['id'], $id)){
  48. $list[$k]['sta'] = 2; // 进入
  49. $list[$k]['str'] = '进入';
  50. }else{
  51. $list[$k]['sta'] = 1; // 预约
  52. $list[$k]['str'] = '预约';
  53. }
  54. }
  55. }
  56. return $list;
  57. }
  58. /**
  59. * 每日修改场次
  60. * @return void
  61. * @throws \think\db\exception\DataNotFoundException
  62. * @throws \think\db\exception\DbException
  63. * @throws \think\db\exception\ModelNotFoundException
  64. */
  65. public static function frequency()
  66. {
  67. $list = self::select();
  68. foreach ($list as $k => $v){
  69. if ($v['day_time'] < time()){
  70. $find = self::find($v['id']);
  71. $find['day_time'] = strtotime(date('Y-m-d 23:59:59'));
  72. $find['frequency'] = $v['frequency'] + 1;
  73. $find->save();
  74. }
  75. }
  76. }
  77. }