AccountLogModel.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
  4. // +----------------------------------------------------------------------
  5. // | 版权所有 2017~2021 LARAVEL研发中心
  6. // +----------------------------------------------------------------------
  7. // | 官方网站: http://www.laravel.cn
  8. // +----------------------------------------------------------------------
  9. // | Author: laravel开发员 <laravel.qq.com>
  10. // +----------------------------------------------------------------------
  11. namespace App\Models;
  12. /**
  13. * 账户明细-模型
  14. * @author laravel开发员
  15. * @since 2020/11/11
  16. * @package App\Models
  17. */
  18. class AccountLogModel extends BaseModel
  19. {
  20. // 设置数据表
  21. protected $table = 'account_logs';
  22. protected $appends = ['bill','time_text','type_name'];
  23. // 时间
  24. public function getTimeTextAttribute()
  25. {
  26. return $this->create_time? datetime($this->create_time,'Y-m-d H:i:s') : '';
  27. }
  28. // 类型
  29. public function getTypeNameAttribute()
  30. {
  31. $types = [1=>'订单付款',2=>'余额充值',3=>'订单退款',4=>'余额转出',5=>'余额转出驳回',6=>'平台转入',7=>'企业结算',8=>'收益',9=>'其他',10=>'余额转账'];
  32. return isset($types[$this->type])?$types[$this->type]:'账户交易';
  33. }
  34. // 状态
  35. public function getStatusTextAttribute()
  36. {
  37. $statusArr = [1=>'已完成',2=>'待处理',3=>'失败'];
  38. return isset($statusArr[$this->status])?$statusArr[$this->status]:'已完成';
  39. }
  40. // 账单
  41. public function getBillAttribute()
  42. {
  43. if($this->type==3){
  44. return BalanceLogModel::where(['order_no'=>$this->source_order_no,'mark'=>1])
  45. ->select(['id','user_id','order_no','money','pay_at','confirm_remark','transaction_id','confirm_at','create_time','status'])
  46. ->first();
  47. }else{
  48. return [];
  49. }
  50. }
  51. /**
  52. * 用户
  53. * @return \Illuminate\Database\Eloquent\Relations\HasOne
  54. */
  55. public function member()
  56. {
  57. return $this->hasOne(MemberModel::class, 'id','user_id')
  58. ->select(['id','mobile','nickname','status']);
  59. }
  60. }