CalcBonusBsDetail.php 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace common\models;
  3. use Yii;
  4. /**
  5. * This is the model class for table "{{%CALC_BONUS_BS_DETAIL}}".
  6. */
  7. class CalcBonusBsDetail extends \common\components\ActiveRecord
  8. {
  9. /**
  10. * @inheritdoc
  11. */
  12. public static function tableName()
  13. {
  14. return '{{%CALC_BONUS_BS_DETAIL}}';
  15. }
  16. /**
  17. * @inheritdoc
  18. */
  19. public function rules()
  20. {
  21. return [
  22. [['USER_ID', 'PERIOD_NUM', 'CALC_MONTH', 'CALCULATED_AT', 'CREATED_AT'], 'required'],
  23. [['AMOUNT', 'ORI_BONUS', 'MANAGE_TAX'], 'number'],
  24. [['LAST_STATUS', 'PERIOD_NUM', 'CALC_MONTH', 'CALCULATED_AT', 'CREATED_AT', 'LAST_FROM_STATUS'], 'integer'],
  25. [['ID', 'USER_ID', 'LAST_DEC_LV', 'LAST_EMP_LV', 'FROM_USER_ID', 'LAST_FROM_DEC_LV', 'LAST_FROM_EMP_LV'], 'string', 'max' => 32],
  26. [['LOGS'], 'string', 'max' => 2000],
  27. [['ID'], 'unique'],
  28. ];
  29. }
  30. /**
  31. * @inheritdoc
  32. */
  33. public function attributeLabels()
  34. {
  35. return [
  36. 'ID' => 'ID',
  37. 'USER_ID' => '会员ID',
  38. 'INTRODUCER_ID' => '推荐人的ID',
  39. 'LAST_DEC_LV' => 'LAST_DEC_LV',
  40. 'LAST_EMP_LV' => 'LAST_EMP_LV',
  41. 'LAST_STATUS' => '结算时状态',
  42. 'LEVEL_ID' => '当期蓝星会员最新聘级.聘级ID',
  43. 'ORI_BONUS' => '原奖金 包含管理费的奖金',
  44. 'MANAGE_TAX' => '管理费, 原奖金-管理费=实际总收入',
  45. 'AMOUNT' => '期实际总收入,发给用户的实际金额,BONUS=BONUS10+……+BONUS90',
  46. 'PRODUCT_POINT' => '兑换积分,如果本人有小组业绩(GPV),同时没有任何奖金,则把这个业绩*12%换成积分',
  47. 'PERIOD_NUM' => '结算期数',
  48. 'CALC_YEAR' => '结算年',
  49. 'CALC_MONTH' => '结算月',
  50. 'P_CALC_MONTH' => '结算年月日',
  51. 'CREATED_AT' => '创建时间',
  52. 'LAYER' => 'LAYER',
  53. 'PV' => 'PV',
  54. 'GPV10' => 'GPV10',
  55. 'GPV' => 'GPV',
  56. 'GPV_4_CALC' => 'GPV_4_CALC',
  57. 'USER_TYPE10' => 'USER_TYPE10',
  58. 'USER_TYPE' => 'USER_TYPE',
  59. 'BONUS10' => 'BONUS10',
  60. 'BONUS20' => 'BONUS20',
  61. 'BONUS30' => 'BONUS30',
  62. 'BONUS40' => 'BONUS40',
  63. 'BONUS50' => 'BONUS50',
  64. 'BONUS60' => 'BONUS60',
  65. 'BONUS70' => 'BONUS70',
  66. 'BONUS80' => 'BONUS80',
  67. 'BONUS90' => 'BONUS90',
  68. 'BONUS100' => 'BONUS100',
  69. 'BONUS110' => 'BONUS110',
  70. 'ORI_BONUS_ABBR'=>'蓝星业绩原奖金',
  71. 'MANAGE_TAX_ABBR'=>'蓝星业绩管理费',
  72. 'AMOUNT_ABBR'=>'蓝星业绩实发',
  73. 'ORI_BONUS_MNT'=>'蓝星管理原奖金',
  74. 'MANAGE_TAX_MNT'=>'蓝星管理奖管理费',
  75. 'AMOUNT_MNT'=>'蓝星管理奖实发'
  76. ];
  77. }
  78. // 判断用户是否是无聘级,并且oribonus大于0
  79. public static function isCommonShare($userId, $periodNum, $levelId) {
  80. $isCommon = CalcBonusBsDetail::find()
  81. ->where(
  82. 'USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM AND LEVEL_ID=:LEVEL_ID AND ORI_BONUS>0',
  83. [':USER_ID'=>$userId,':PERIOD_NUM'=>$periodNum,':LEVEL_ID'=>$levelId]
  84. )->asArray()
  85. ->one();
  86. if (!empty($isCommon)) {
  87. return true;
  88. } else {
  89. return false;
  90. }
  91. }
  92. }