UserBonus.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <?php
  2. namespace common\models;
  3. use common\helpers\user\Info;
  4. use Yii;
  5. use common\libs\logging\operate\valueType\Config as ValueTypeConfig;
  6. /**
  7. * This is the model class for table "{{%USER_BONUS}}".
  8. *
  9. * @property string $ID
  10. * @property string $USER_ID 会员ID
  11. * @property string $BONUS 奖金总额
  12. * @property string $BONUS_FREEZE 奖金冻结部分
  13. * @property string $CF 车房养老奖
  14. * @property string $LX 领袖分红奖
  15. * @property string $QY_TOTAL 区域津贴累计
  16. * @property string $YC_TOTAL 育成津贴累计
  17. * @property string $VIP_TOTAL VIP奖金累计
  18. * @property string $FX_TOTAL 复销奖累计
  19. * @property string $LS_TOTAL 零售奖累计
  20. * @property string $FW_TOTAL 区级店业绩提成累计
  21. * @property string $BT_TOTAL 店补累计
  22. * @property string $BT_PROD_TOTAL 产品补贴累计
  23. * @property string $BT_TOOL_TOTAL 工具流补贴累计
  24. * @property string $CF_TOTAL 车房养老奖累计
  25. * @property string $LX_TOTAL 领袖分红累计
  26. * @property string $DEDUCT_ZR_TOTAL 责任业绩扣除累计
  27. * @property string $FL_TOTAL 形象店货补累计
  28. * @property int $VER 乐观锁标识
  29. * @property int $CREATED_AT 创建时间
  30. * @property int $BD_TOTAL 服务奖累计
  31. * @property int $TG_TOTAL 推广奖累计
  32. * @property int $YJ_TOTAL 业绩奖累计
  33. * @property int $GX_TOTAL 共享奖累计
  34. * @property int $GL_TOTAL 管理奖累计
  35. * @property int $ORI_QY_TOTAL 团队奖原奖金累计
  36. * @property int $ORI_YC_TOTAL 荣衔奖原奖金累计
  37. * @property int $ORI_VIP_TOTAL VIP奖原奖金累计
  38. * @property int $ORI_BD_TOTAL 服务奖原奖金累计
  39. * @property int $ORI_TG_TOTAL 推广奖原奖金累计
  40. * @property int $ORI_YJ_TOTAL 业绩奖原奖金累计
  41. * @property int $ORI_GX_TOTAL 共享奖原奖金累计
  42. * @property int $ORI_GL_TOTAL 管理奖原奖金累计
  43. * @property int $RECONSUME_POINTS 复消积分
  44. * @property int $RECONSUME_POINTS_EXPIRED 复消积分过期
  45. * @property int $RECONSUME_POINTS_TOTAL 复消积分累计
  46. * @property int $MANAGE_TAX 管理费累计
  47. * @property int $BONUS_TOTAL 总奖金累计
  48. */
  49. class UserBonus extends \common\components\ActiveRecord
  50. {
  51. const TYPE = BalanceAudit::TYPE;
  52. /**
  53. * {@inheritdoc}
  54. */
  55. public static function tableName()
  56. {
  57. return '{{%USER_BONUS}}';
  58. }
  59. /**
  60. * {@inheritdoc}
  61. */
  62. public function rules()
  63. {
  64. return [
  65. [['USER_ID', 'CREATED_AT'], 'required'],
  66. [['BS_TOTAL','ORI_BS_TOTAL','BS','BONUS', 'BONUS_FREEZE', 'CF', 'LX', 'QY_TOTAL', 'YC_TOTAL', 'VIP_TOTAL', 'FX_TOTAL', 'LS_TOTAL', 'FW_TOTAL', 'BT_TOTAL', 'BT_PROD_TOTAL', 'BT_TOOL_TOTAL', 'CF_TOTAL', 'LX_TOTAL', 'DEDUCT_ZR_TOTAL', 'FL_TOTAL', 'BD_TOTAL','TG_TOTAL','YJ_TOTAL','GX_TOTAL','GL_TOTAL', 'ORI_QY_TOTAL','ORI_YC_TOTAL','ORI_YC_TOTAL','ORI_BD_TOTAL','ORI_TG_TOTAL','ORI_YJ_TOTAL','ORI_GX_TOTAL','ORI_GL_TOTAL','RECONSUME_POINTS','MANAGE_TAX', 'RECONSUME_POINTS_EXPIRED', 'RECONSUME_POINTS_TOTAL', 'BONUS_TOTAL', 'TRAVEL_POINTS', 'CAR_POINTS', 'HOUSE_POINTS'], 'number'],
  67. [['VER', 'CREATED_AT'], 'integer'],
  68. [['ID','USER_ID'], 'string', 'max' => 32],
  69. [['USER_ID'], 'unique'],
  70. ];
  71. }
  72. /**
  73. * {@inheritdoc}
  74. */
  75. public function attributeLabels()
  76. {
  77. return [
  78. 'ID' => 'ID',
  79. 'USER_ID' => '会员ID',
  80. 'BONUS' => '奖金总额',
  81. 'BONUS_FREEZE' => '奖金冻结部分',
  82. 'CF' => '车房养老奖',
  83. 'LX' => '领袖分红奖',
  84. 'QY_TOTAL' => '区域津贴累计',
  85. 'YC_TOTAL' => '育成津贴累计',
  86. 'VIP_TOTAL' => 'VIP奖金累计',
  87. 'FX_TOTAL' => '复销奖累计',
  88. 'LS_TOTAL' => '零售奖累计',
  89. 'FW_TOTAL' => '服务奖累计',
  90. 'BT_TOTAL' => '店补累计',
  91. 'BT_PROD_TOTAL' => '产品补贴累计',
  92. 'BT_TOOL_TOTAL' => '工具流补贴累计',
  93. 'CF_TOTAL' => '车房养老奖累计',
  94. 'LX_TOTAL' => '领袖分红累计',
  95. 'DEDUCT_ZR_TOTAL' => '责任业绩扣除累计',
  96. 'FL_TOTAL' => '形象店货补累计',
  97. 'VER' => '乐观锁标识',
  98. 'CREATED_AT' => '创建时间',
  99. 'BD_TOTAL'=> '服务奖累计',
  100. 'TG_TOTAL'=> '推广奖累计',
  101. 'YJ_TOTAL'=> '业绩奖累计',
  102. 'GX_TOTAL'=> '共享奖累计',
  103. 'GL_TOTAL'=> '管理奖累计',
  104. 'ORI_QY_TOTAL' => '团队奖原奖金累计',
  105. 'ORI_YC_TOTAL' => '荣衔奖原奖金累计',
  106. 'ORI_VIP_TOTAL' => 'VIP奖原奖金累计',
  107. 'ORI_BD_TOTAL' => '服务奖原奖金累计',
  108. 'ORI_TG_TOTAL' => '推广奖原奖金累计',
  109. 'ORI_YJ_TOTAL' => '业绩奖原奖金累计',
  110. 'ORI_GX_TOTAL' => '共享奖原奖金累计',
  111. 'ORI_GL_TOTAL' => '管理奖原奖金累计',
  112. 'RECONSUME_POINTS' => '复消积分',
  113. 'RECONSUME_POINTS_TOTAL' => '复消积分累计',
  114. 'RECONSUME_POINTS_EXPIRED' => '复消积分过期',
  115. 'MANAGE_TAX' => '管理费累计',
  116. 'BONUS_TOTAL' => '总奖金累计',
  117. 'BS' => '蓝星奖(即新的管理奖)',
  118. 'BS_TOTAL' => '蓝星(管理)累计',
  119. 'ORI_BS_TOTAL' => '蓝星原奖金累计',
  120. 'TRAVEL' => '旅游积分',
  121. 'TRAVEL_TOTAL' => '旅游积分累计',
  122. 'CAR' => '名车积分',
  123. 'CAR_TOTAL' => '名车积分累计',
  124. 'HOUSE' => '豪宅积分',
  125. 'HOUSE_TOTAL' => '豪宅积分累计',
  126. ];
  127. }
  128. /**
  129. * 操作日志记录条件
  130. * @return array
  131. */
  132. public function attrLabelsWithLogType(){
  133. return [
  134. 'USER_ID' => '会员ID',
  135. 'BONUS' => '会员账户',
  136. 'CF' => '车房养老奖',
  137. 'LX' => '领袖分红奖',
  138. ];
  139. }
  140. /**
  141. * 乐观锁
  142. * @return string
  143. */
  144. public function optimisticLock()
  145. {
  146. return 'VER';
  147. }
  148. /**
  149. * 获取一名会员的余额
  150. * @param $userId
  151. * @return array|null
  152. */
  153. public static function getBonusByUserId($userId){
  154. $data = UserBonus::findOneAsArray('USER_ID=:USER_ID', [':USER_ID'=>$userId], 'USER_ID,BONUS,CF,LX');
  155. if(!$data){
  156. $data = [
  157. 'USER_ID' => $userId,
  158. 'BONUS' => 0,
  159. 'CF' => 0,
  160. 'LX' => 0,
  161. ];
  162. }
  163. return $data;
  164. }
  165. }