Reward.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. namespace app\admin\model\shopro\commission;
  3. use think\Model;
  4. class Reward extends Model
  5. {
  6. // 表名
  7. protected $name = 'shopro_commission_reward';
  8. // 自动写入时间戳字段
  9. protected $autoWriteTimestamp = 'int';
  10. // 定义时间戳字段名
  11. protected $createTime = 'createtime';
  12. protected $updateTime = 'updatetime';
  13. // 追加属性
  14. protected $append = [
  15. 'status_text',
  16. 'type_text'
  17. ];
  18. // 分销佣金状态 table: commission_reward, field: status
  19. const COMMISSION_REWARD_STATUS_WAITING = 0; // 未结算、待入账
  20. const COMMISSION_REWARD_STATUS_ACCOUNTED = 1; // 已结算、已入账
  21. const COMMISSION_REWARD_STATUS_BACK = -1; // 已退回
  22. const COMMISSION_REWARD_STATUS_CANCEL = -2; // 已取消
  23. public function getStatusTextAttr($value, $data)
  24. {
  25. $status_name = '';
  26. switch ($data['status']) {
  27. case self::COMMISSION_REWARD_STATUS_WAITING:
  28. $status_name = '待结算';
  29. break;
  30. case self::COMMISSION_REWARD_STATUS_ACCOUNTED:
  31. $status_name = '已结算';
  32. break;
  33. case self::COMMISSION_REWARD_STATUS_BACK:
  34. $status_name = '已退回';
  35. break;
  36. case self::COMMISSION_REWARD_STATUS_CANCEL:
  37. $status_name = '已取消';
  38. break;
  39. }
  40. return $status_name;
  41. }
  42. public function getTypeTextAttr($value, $data)
  43. {
  44. $type_text = '';
  45. switch ($data['type']) {
  46. case 'money':
  47. $type_text = '余额';
  48. break;
  49. case 'score':
  50. $type_text = '积分';
  51. break;
  52. case 'cash':
  53. $type_text = '现金(手动打款)';
  54. break;
  55. case 'change':
  56. $type_text = '企业付款到零钱';
  57. break;
  58. case 'bank':
  59. $type_text = '企业付款到银行卡';
  60. break;
  61. }
  62. return $type_text;
  63. }
  64. public function buyer()
  65. {
  66. return $this->belongsTo(\app\admin\model\User::class, 'buyer_id')->field('id,nickname,avatar,mobile,prevtime,logintime,jointime');
  67. }
  68. public function agent()
  69. {
  70. return $this->belongsTo(\app\admin\model\User::class, 'agent_id')->field('id,nickname,avatar,mobile,prevtime,logintime,jointime');
  71. }
  72. public function order()
  73. {
  74. return $this->belongsTo(\app\admin\model\shopro\order\Order::class, 'order_id');
  75. }
  76. /**
  77. * 待入账
  78. */
  79. public function scopeWaiting($query)
  80. {
  81. return $query->where('status', 0);
  82. }
  83. public function commissionOrder()
  84. {
  85. // 要把 下单人信息移除
  86. return $this->belongsTo(\app\admin\model\shopro\commission\Order::class, 'commission_order_id');
  87. }
  88. }