Order.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace App\Models\Order;
  3. use Illuminate\Database\Eloquent\Model;
  4. use DB;
  5. class Order extends Model
  6. {
  7. protected $table = 'orders';
  8. protected $fillable = [
  9. 'uid', 'product_id', 'price', 'status', 'pay_num', 'trade_no','tiktok_order_id','pay_url', 'send_order_id', 'send_order_name',
  10. 'transaction_id', 'distribution_channel_id', 'pay_end_at', 'create_ip', 'pay_merchant_source', 'pay_merchant_id', 'from_bid', 'order_type',
  11. 'activity_id','from_type'
  12. ];
  13. static function getByTradeNo($trade_no)
  14. {
  15. return self::select('*')->where('trade_no',$trade_no)->first();
  16. }
  17. static function getByTikTokOrderId($orderId)
  18. {
  19. return self::where('tiktok_order_id',$orderId)->first();
  20. }
  21. public static function getOrderList($uid,$page_size){
  22. return self::select('id','price','created_at','status','trade_no')->where('uid',$uid)->orderBy('id','desc')->paginate($page_size);
  23. }
  24. static function create_order($data){
  25. return self::firstOrCreate($data);
  26. }
  27. public static function getUserChargeTimes($uid){
  28. return self::where('uid',$uid)->where('status','PAID')->count('id');
  29. }
  30. }