ServeBonusCommissionLog.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?php
  2. namespace addons\ServeBonus\common\models;
  3. use common\enums\StatusEnum;
  4. use common\models\user\User;
  5. use Yii;
  6. /**
  7. * This is the model class for table "{{%addons_servebonus_commission_log}}".
  8. *
  9. * @property int $id
  10. * @property int $mall_id 商城ID
  11. * @property int $user_id 用户ID
  12. * @property int $period_num 第N期
  13. * @property float $amounts 结算总金额,单位:元
  14. * @property float $commission 出单奖励/加权平分,单位:元
  15. * @property int $type 奖励类型:1出单奖励,2加权平分
  16. * @property int $compute_period 结算周期:1天,2周,3月
  17. * @property int $start_time 结算开始日期
  18. * @property int $end_time 结算开始日期
  19. * @property int|null $status 状态[-1:删除;0:禁用;1启用]
  20. * @property int $created_at
  21. * @property int $updated_at
  22. */
  23. class ServeBonusCommissionLog extends \common\models\base\BaseActiveRecord
  24. {
  25. /**
  26. * {@inheritdoc}
  27. */
  28. public static function tableName()
  29. {
  30. return '{{%addons_servebonus_commission_log}}';
  31. }
  32. /**
  33. * {@inheritdoc}
  34. */
  35. public function rules()
  36. {
  37. return [
  38. [['mall_id', 'user_id', 'period_id', 'type', 'compute_period', 'start_time', 'end_time', 'status', 'created_at', 'updated_at'], 'integer'],
  39. [['amounts', 'commission'], 'number'],
  40. ];
  41. }
  42. /**
  43. * {@inheritdoc}
  44. */
  45. public function attributeLabels()
  46. {
  47. return [
  48. 'id' => 'ID',
  49. 'mall_id' => '商城ID',
  50. 'user_id' => '用户ID',
  51. 'period_id' => '第N期',
  52. 'commission' => '出单奖励,单位:元',
  53. 'extra_commission' => '加权平分,单位:元',
  54. 'compute_period' => '结算周期:1天,2周,3月',
  55. 'start_time' => '结算开始日期',
  56. 'end_time' => '结算开始日期',
  57. 'status' => '状态[-1:删除;0:禁用;1启用]',
  58. 'created_at' => 'Created At',
  59. 'updated_at' => 'Updated At',
  60. ];
  61. }
  62. public function getUser()
  63. {
  64. return $this->hasOne(User::class, ['id' => 'user_id'])->select('id,nickname,mobile,username,avatar_url');
  65. }
  66. public function getServebonus()
  67. {
  68. return $this->hasOne(ServeBonus::class, ['user_id' => 'user_id'])->where(['status' => StatusEnum::ENABLED])->select('level');
  69. }
  70. public function getPeriod()
  71. {
  72. return $this->hasOne(ServeBonusPeriod::class, ['id' => 'period_id']);
  73. }
  74. /**
  75. * 获取分红
  76. * @Author: ltm
  77. * @DateTime: 2021/11/6 0006 11:53
  78. * @Copyright: copyright (c) 2021 广东七件事集团
  79. * @param array $cond
  80. * @param array $with
  81. * @param bool $is_array
  82. * @param string $select
  83. * @param string $order
  84. * @return array|\yii\db\ActiveRecord[]
  85. */
  86. public static function getServeBonusCommissionLog(array $cond=[], array $with=[],bool $is_array=true,string $select='*',$order=""){
  87. $default_cond = [['<>','status',StatusEnum::DELETE]];
  88. $cond = array_merge($default_cond,$cond);
  89. $query = self::find()->select($select);
  90. self::paramPack(['where'=>$cond, 'with'=>$with],$query);
  91. isset($order) && $query->orderBy($order);
  92. $data = $query->asArray($is_array)->all();
  93. return $data;
  94. }
  95. }