UserWalletApply.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. namespace app\admin\model\shopro;
  3. use think\Model;
  4. use traits\model\SoftDelete;
  5. class UserWalletApply extends Model
  6. {
  7. use SoftDelete;
  8. // 表名
  9. protected $name = 'shopro_user_wallet_apply';
  10. // 自动写入时间戳字段
  11. protected $autoWriteTimestamp = 'int';
  12. // 定义时间戳字段名
  13. protected $createTime = 'createtime';
  14. protected $updateTime = 'updatetime';
  15. protected $deleteTime = false;
  16. // 追加属性
  17. protected $append = [
  18. 'apply_type_text',
  19. 'status_text',
  20. 'apply_info_text'
  21. ];
  22. public function getApplyTypeList()
  23. {
  24. return ['bank' => __('Apply_type bank'), 'wechat' => __('Apply_type wechat'), 'alipay' => __('Apply_type alipay')];
  25. }
  26. public function getStatusList()
  27. {
  28. return ['0' => __('Status 0'), '1' => __('Status 1'), '2' => __('Status 2'), '-1' => __('Status -1')];
  29. }
  30. public function getApplyTypeTextAttr($value, $data)
  31. {
  32. $value = $value ? $value : (isset($data['apply_type']) ? $data['apply_type'] : '');
  33. $list = $this->getApplyTypeList();
  34. return isset($list[$value]) ? $list[$value] : '';
  35. }
  36. public function getStatusTextAttr($value, $data)
  37. {
  38. $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
  39. $list = $this->getStatusList();
  40. return isset($list[$value]) ? $list[$value] : '';
  41. }
  42. public function getApplyInfoTextAttr($value, $data)
  43. {
  44. $value = $data['apply_info'] ?? '';
  45. $value = $value ? json_decode($value, true) : '-';
  46. return $value;
  47. }
  48. /**
  49. * 提现信息
  50. */
  51. public function getApplyInfoAttr($value, $data)
  52. {
  53. $value = isset($data['apply_info']) ? $data['apply_info'] : $value;
  54. return json_decode($value, true);
  55. }
  56. /**
  57. * 获取日志字段数组
  58. * @param string $value
  59. * @param array $data
  60. * @return array
  61. */
  62. public function getLogAttr($value, $data)
  63. {
  64. $value = array_filter((array)json_decode($value, true));
  65. return (array)$value;
  66. }
  67. /**
  68. * 设置日志字段
  69. * @param mixed $value
  70. * @return string
  71. */
  72. public function setLogAttr($value)
  73. {
  74. $value = is_object($value) || is_array($value) ? json_encode($value, JSON_UNESCAPED_UNICODE) : $value;
  75. return $value;
  76. }
  77. public function user()
  78. {
  79. return $this->belongsTo(\app\admin\model\User::class, 'user_id');
  80. }
  81. }