BalanceRechargeCheck.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Name: 芸众商城系统
  5. * Author: 广州市芸众信息科技有限公司
  6. * Profile: 广州市芸众信息科技有限公司位于国际商贸中心的广州,专注于移动电子商务生态系统打造,拥有芸众社交电商系统、区块链数字资产管理系统、供应链管理系统、电子合同等产品/服务。官网 :www.yunzmall.com www.yunzshop.com
  7. * Date: 2022/2/15
  8. * Time: 11:15
  9. */
  10. namespace app\common\models\finance;
  11. use app\common\models\BaseModel;
  12. use app\common\models\Member;
  13. use app\common\models\user\User;
  14. use app\framework\Database\Eloquent\Builder;
  15. /**
  16. * Class BalanceRechargeCheck
  17. * @package app\common\models\finance
  18. * @property int uniacid
  19. * @property int member_id
  20. * @property float money
  21. * @property int type
  22. * @property int operator_id
  23. * @property int operator
  24. * @property int source
  25. * @property string enclosure
  26. * @property string remark
  27. * @property string recharge_remark
  28. * @property string explain
  29. * @property int status
  30. * @method $this search(array $searchParam)
  31. */
  32. class BalanceRechargeCheck extends BaseModel
  33. {
  34. public $table = 'yz_balance_recharge_check';
  35. protected $guarded= [''];
  36. protected $appends = ['status_name','enclosure_src'];
  37. public function member()
  38. {
  39. return $this->hasOne(Member::class,'uid','member_id');
  40. }
  41. public function adminUser()
  42. {
  43. return $this->hasOne(User::class,'uid','operator_id');
  44. }
  45. public function getStatusNameAttribute()
  46. {
  47. switch ($this->status) {
  48. case 0:
  49. return '待审核';
  50. case 1:
  51. return '已通过';
  52. case 2:
  53. return '已驳回';
  54. }
  55. }
  56. public function getEnclosureSrcAttribute()
  57. {
  58. return $this->enclosure ? yz_tomedia($this->enclosure) : '';
  59. }
  60. public function scopeSearch(Builder $query,$search = [])
  61. {
  62. if ($search['member_id']) {
  63. $query->where('member_id',$search['member_id']);
  64. }
  65. if ($search['member']) {
  66. $query->whereHas('member',function ($member) use ($search) {
  67. $member->where('nickname','like','%'.$search['member'].'%')
  68. ->orWhere('realname','like','%'.$search['member'].'%')
  69. ->orWhere('mobile',$search['member']);
  70. });
  71. }
  72. if ($search['member_id']) {
  73. $query->where('member_id',$search['member_id']);
  74. }
  75. if ($search['start_time'] && $search['end_time']) {
  76. $query->whereBetween('created_at',[strtotime($search['start_time']),strtotime($search['end_time'])]);
  77. }
  78. if (isset($search['status']) && is_numeric($search['status'])) {
  79. $query->where('status',$search['status']);
  80. }
  81. return $query;
  82. }
  83. }