ChapterOrder.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Modules\Subscribe\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. class ChapterOrder extends Model
  5. {
  6. protected $connection = 'chapter_order_mysql';
  7. protected $fillable = [
  8. 'distribution_channel_id', 'bid', 'cid', 'chapter_name', 'book_name', 'uid', 'u', 'fee', 'book_name', 'send_order_id', 'charge_balance', 'reward_balance'
  9. ];
  10. function setCurrentTable($uid)
  11. {
  12. $this->setTable('chapter_orders' . $uid % 512);
  13. }
  14. //判断是否订购
  15. function checkIsOrdered($uid, $bid, $cid)
  16. {
  17. return self::where('uid', $uid)
  18. ->where('bid', $bid)
  19. ->where('cid', $cid)
  20. ->count();
  21. }
  22. function getByUid($uid, $page_size)
  23. {
  24. return self::where('uid', $uid)->orderBy('created_at', 'desc')->paginate($page_size);
  25. }
  26. public function getChapterOrderLists($uid, $page_size)
  27. {
  28. return $this->where('uid', $uid)->orderBy('created_at', 'desc')->paginate($page_size);
  29. }
  30. public static function getChapterTotalConsumeByUserIdAndTime($uid, $startTime = "", $endTime = "")
  31. {
  32. $search_object = self::where('uid', $uid);
  33. if ($startTime) {
  34. $search_object->where('updated_at', '>=', $startTime);
  35. }
  36. if ($endTime) {
  37. $search_object->where('updated_at', '<=', $endTime . ' 23:59:59');
  38. }
  39. return $search_object->sum('fee');
  40. }
  41. }