Auction.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. if ($data['advance']){
  33. $model->where('id', 'in', $id);
  34. }
  35. $list = $model->select();
  36. $list = count($list) ? $list->toArray() : [];
  37. if ($list){
  38. foreach ($list as $k =>$v)
  39. {
  40. $booking = AuctionBooking::where([['uid', '=', $uid], ['frequency', '=', $v['frequency']], ['auction_id', '=', $v['id']]])->field('auction_id')->find();
  41. $list[$k]['time'] = strtotime($v['radd_time']) - 1800;
  42. $list[$k]['e_time'] = strtotime($v['rend_time']);
  43. $list[$k]['day'] = date('Y-m-d H:i:s', strtotime($v['radd_time']) - 1800);
  44. if ($booking){
  45. $list[$k]['sta'] = 2; // 进入
  46. $list[$k]['str'] = '进入';
  47. }else{
  48. $list[$k]['sta'] = 1; // 预约
  49. $list[$k]['str'] = '预约';
  50. }
  51. }
  52. }
  53. return $list;
  54. }
  55. /**
  56. * 每日修改场次
  57. * @return void
  58. * @throws \think\db\exception\DataNotFoundException
  59. * @throws \think\db\exception\DbException
  60. * @throws \think\db\exception\ModelNotFoundException
  61. */
  62. public static function frequency()
  63. {
  64. $list = self::select();
  65. foreach ($list as $k => $v){
  66. if ($v['day_time'] < time()){
  67. $find = self::find($v['id']);
  68. $find['day_time'] = strtotime(date('Y-m-d 23:59:59'));
  69. $find['frequency'] = $v['frequency'] + 1;
  70. $find->save();
  71. }
  72. }
  73. }
  74. }