BaUserInfo.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  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_INFO}}".
  8. *
  9. * @property string $ID
  10. * @property string $USER_ID 会员ID
  11. * @property string $USER_NAME 会员名
  12. * @property string $ZC_PV 注册单PV
  13. * @property string $CON_UID 接点人ID
  14. * @property string $REC_UID 推荐人ID
  15. * @property int $CON_NUM 下级节点数量
  16. * @property int $REC_NUM 开拓会员数量
  17. * @property int $NETWORK_DEEP 安置网络深度
  18. * @property int $RELATION_DEEP 开拓网络深度
  19. * @property string $SYSTEM_ID 体系ID
  20. * @property int $IS_SYSTEM_LEADER 是否体系领导人
  21. * @property int $IS_TEAM 是否点位合作
  22. * @property int $IS_BIND 是否点位绑定
  23. * @property int $IS_TEAM_MAIN 是否点位合作主点
  24. * @property int $IS_BIND_MAIN 是否点位绑定主点
  25. * @property int $IS_AUTO_WITHDRAW 是否开启自动提现
  26. * @property int $CLOSE_LOGIN 关闭结算系统登录
  27. * @property string $REG_TYPE 注册类型
  28. * @property string $SHOULD_REG_TYPE 应注册类型
  29. * @property string $REG_NAME 注册名称
  30. * @property string $CREDIT_CODE 信用代码
  31. * @property string $PREMISES 经营场所
  32. * @property string $LEGAL_PERSON 法人
  33. * @property int $REG_EXPIRES 注册有效期
  34. * @property int $STORE_TYPE 店铺类型
  35. * @property string $INVOICE_BALANCE 发票余额
  36. * @property string $HIGHEST_EMP_LV 历史最高聘级
  37. * @property int $CREATED_AT 创建时间
  38. * @property int $UPDATED_AT 更新时间
  39. * @property int $CLOSE_LOGIN_AT 禁止登录时间
  40. * @property int $PULLED_AT 站内信拉取时间
  41. * @property int $DELETED 是否删除
  42. * @property int $DELETED_AT 删除时间
  43. * @property int $ALLOW_TRANSFER 开启转账功能
  44. * @property int $ALLOW_RECONSUME_SMS 开启复销短信提醒
  45. * @property int $ALLOW_RECONSUME_SMS_TO 开启复销短信提醒有效期
  46. * @property int $HIGHEST_EMP_LV_PERIOD 首次达到最高聘级期数
  47. * @property int $IS_GROUP_LEADER 是否团队领导人
  48. * @property int $GROUP_LEADER_AT 成为团队领导人时间
  49. * @property string $TRANSFER_PROP 单笔转账比例
  50. * @property int $LOGIN_NUMS 登录次数
  51. * @property int $FAIL_NUMS 登录失败次数
  52. * @property string $LAST_LOGIN_IP 上次登录IP
  53. * @property int $LAST_LOGIN_AT 上次登录时间
  54. * @property string $SHOW_EMP_LV 展示聘级
  55. * @property string $ZC_AMOUNT 注册单报单金额
  56. */
  57. class BaUserInfo extends \common\components\ActiveRecord
  58. {
  59. const STORE_TYPE_NORMAL = 0; // 一般会员无店铺标识
  60. const STORE_TYPE_GENERAL = 1; // 店铺
  61. const STORE_TYPE_IMAGE = 2; // 形象店
  62. const STORE_TYPE_SERVICE = 3; // 服务点、具有报单功能的会员
  63. const STORE_TYPE_AREA = 4; // 区级店
  64. /**
  65. * @inheritdoc
  66. */
  67. public static function tableName()
  68. {
  69. return '{{%BA_USER_INFO}}';
  70. }
  71. /**
  72. * @inheritdoc
  73. */
  74. public function rules()
  75. {
  76. return [
  77. [['USER_ID', 'USER_NAME',/* 'CON_UID', 'REC_UID',*/ 'CREATED_AT'], 'required'],
  78. // [['ZC_PV', 'INVOICE_BALANCE', 'TRANSFER_PROP', 'ZC_AMOUNT'], 'number'],
  79. [['CON_NUM', 'REC_NUM', 'NETWORK_DEEP', 'RELATION_DEEP', 'IS_SYSTEM_LEADER', 'IS_TEAM', 'IS_BIND', 'IS_TEAM_MAIN', 'IS_BIND_MAIN', 'IS_AUTO_WITHDRAW', 'CLOSE_LOGIN', 'REG_EXPIRES', 'STORE_TYPE', 'CREATED_AT', 'UPDATED_AT', 'CLOSE_LOGIN_AT', 'PULLED_AT', 'DELETED', 'DELETED_AT', 'ALLOW_TRANSFER', 'HIGHEST_EMP_LV_PERIOD', 'IS_GROUP_LEADER', 'GROUP_LEADER_AT', 'ALLOW_RECONSUME_SMS', 'ALLOW_RECONSUME_SMS_TO', 'LOGIN_NUMS', 'FAIL_NUMS', 'LAST_LOGIN_AT'], 'integer'],
  80. [['ID','USER_ID', 'CON_UID', 'REC_UID', 'SYSTEM_ID', 'REG_TYPE', 'SHOULD_REG_TYPE', 'HIGHEST_EMP_LV', 'SHOW_EMP_LV'], 'string', 'max' => 32],
  81. [['USER_NAME', 'LAST_LOGIN_IP'], 'string', 'max' => 16],
  82. [['REG_NAME', 'CREDIT_CODE', 'PREMISES', 'LEGAL_PERSON'], 'string', 'max' => 255],
  83. [['USER_ID'], 'unique'],
  84. ];
  85. }
  86. /**
  87. * @inheritdoc
  88. */
  89. public function attributeLabels()
  90. {
  91. return [
  92. 'ID' => 'ID',
  93. 'USER_ID' => '会员ID',
  94. 'USER_NAME' => '会员名',
  95. 'ZC_PV' => '注册单PV',
  96. 'CON_UID' => '接点人ID',
  97. 'REC_UID' => '推荐人ID',
  98. 'CON_NUM' => '下级节点数量',
  99. 'REC_NUM' => '开拓会员数量',
  100. 'NETWORK_DEEP' => '安置网络深度',
  101. 'RELATION_DEEP' => '开拓网络深度',
  102. 'SYSTEM_ID' => '体系ID',
  103. 'IS_SYSTEM_LEADER' => '是否体系领导人',
  104. 'IS_TEAM' => '是否点位合作',
  105. 'IS_BIND' => '是否点位绑定',
  106. 'IS_TEAM_MAIN' => '是否点位合作主点',
  107. 'IS_BIND_MAIN' => '是否点位绑定主点',
  108. 'IS_AUTO_WITHDRAW' => '是否开启自动提现',
  109. 'CLOSE_LOGIN' => '关闭结算系统登录',
  110. 'REG_TYPE' => '注册类型',
  111. 'SHOULD_REG_TYPE' => '应注册类型',
  112. 'REG_NAME' => '注册名称',
  113. 'CREDIT_CODE' => '信用代码',
  114. 'PREMISES' => '经营场所',
  115. 'LEGAL_PERSON' => '法人',
  116. 'REG_EXPIRES' => '注册有效期',
  117. 'STORE_TYPE' => '店铺类型',
  118. 'INVOICE_BALANCE' => '发票余额',
  119. 'HIGHEST_EMP_LV' => '历史最高聘级',
  120. 'CREATED_AT' => '创建时间',
  121. 'UPDATED_AT' => '更新时间',
  122. 'CLOSE_LOGIN_AT' => '禁止登录时间',
  123. 'PULLED_AT' => '站内信拉取时间',
  124. 'DELETED' => '是否删除',
  125. 'DELETED_AT' => '删除时间',
  126. 'ALLOW_TRANSFER' => '开启转账功能',
  127. 'ALLOW_RECONSUME_SMS' => '开启复销短信提醒',
  128. 'ALLOW_RECONSUME_SMS_TO' => '开启复销短信提醒有效期',
  129. 'HIGHEST_EMP_LV_PERIOD' => '首次达到最高聘级期数',
  130. 'IS_GROUP_LEADER' => '是否团队领导人',
  131. 'GROUP_LEADER_AT' => '团队领导人时间',
  132. 'TRANSFER_PROP' => '单笔转账比例',
  133. 'LOGIN_NUMS' => '登录次数',
  134. 'FAIL_NUMS' => '登录失败次数',
  135. 'LAST_LOGIN_IP' => '上次登录IP',
  136. 'LAST_LOGIN_AT' => '上次登录时间',
  137. 'SHOW_EMP_LV' => '展示聘级',
  138. 'ZC_AMOUNT' => '注册单报单金额',
  139. ];
  140. }
  141. /**
  142. * 删除会员
  143. * @param $userId
  144. */
  145. public static function deleteUser($userId){
  146. static::deleteAll('USER_ID=:USER_ID', [':USER_ID'=>$userId]);
  147. UserNetwork::deleteAll('USER_ID=:USER_ID', [':USER_ID'=>$userId]);
  148. UserRelation::deleteAll('USER_ID=:USER_ID', [':USER_ID'=>$userId]);
  149. UserBonus::deleteAll('USER_ID=:USER_ID', [':USER_ID'=>$userId]);
  150. UserPerf::deleteAll('USER_ID=:USER_ID', [':USER_ID'=>$userId]);
  151. }
  152. /**
  153. * 获取会员接点人推荐人
  154. * @param $userId
  155. * @return array|null
  156. */
  157. public static function getNetByUserId($userId){
  158. return static::findOneAsArray('USER_ID=:USER_ID', [':USER_ID' => $userId], 'CON_UID,REC_UID');
  159. }
  160. /**
  161. * 操作日志记录条件
  162. * @return array
  163. */
  164. public function attrLabelsWithLogType(){
  165. return [
  166. 'USER_ID' => '会员ID',
  167. 'USER_NAME' => '会员名',
  168. // 'ZC_PV' => '注册单PV',
  169. 'CON_UID' => [
  170. 'label' => '接点人编号',
  171. 'type' => function($data){
  172. $value = $data['value'];
  173. return Info::getUserNameByUserId($value);
  174. },
  175. ],
  176. 'REC_UID' => [
  177. 'label' => '接点人编号',
  178. 'type' => function($data){
  179. $value = $data['value'];
  180. return Info::getUserNameByUserId($value);
  181. },
  182. ],
  183. 'CON_NUM' => '下级节点数量',
  184. 'REC_NUM' => '开拓会员数量',
  185. 'NETWORK_DEEP' => '安置网络深度',
  186. 'RELATION_DEEP' => '开拓网络深度',
  187. 'SYSTEM_ID' => '体系ID',
  188. 'IS_SYSTEM_LEADER' => '是否体系领导人',
  189. 'IS_TEAM' => '是否点位合作',
  190. 'IS_BIND' => '是否点位绑定',
  191. 'IS_TEAM_MAIN' => '是否点位合作主点',
  192. 'IS_BIND_MAIN' => '是否点位绑定主点',
  193. 'IS_AUTO_WITHDRAW' => [
  194. 'label' => '是否开启自动提现',
  195. 'type' => ValueTypeConfig::YES_NO_TYPE,
  196. ],
  197. 'CLOSE_LOGIN' => '关闭结算系统登录',
  198. 'REG_TYPE' => '注册类型',
  199. 'SHOULD_REG_TYPE' => '应注册类型',
  200. 'REG_NAME' => '注册名称',
  201. 'CREDIT_CODE' => '信用代码',
  202. 'PREMISES' => '经营场所',
  203. 'LEGAL_PERSON' => '法人',
  204. 'REG_EXPIRES' => '注册有效期',
  205. 'STORE_TYPE' => '店铺类型',
  206. 'INVOICE_BALANCE' => '发票余额',
  207. 'HIGHEST_EMP_LV' => '历史最高聘级',
  208. 'CREATED_AT' => '创建时间',
  209. 'UPDATED_AT' => '更新时间',
  210. 'CLOSE_LOGIN_AT' => '禁止登录时间',
  211. 'PULLED_AT' => '站内信拉取时间',
  212. 'DELETED' => '是否删除',
  213. 'DELETED_AT' => '删除时间',
  214. 'ALLOW_TRANSFER' => [
  215. 'label' => '开启转账功能',
  216. 'type' => ValueTypeConfig::YES_NO_TYPE,
  217. ],
  218. 'ALLOW_RECONSUME_SMS' => [
  219. 'label' => '开启复销短信提醒',
  220. 'type' => ValueTypeConfig::YES_NO_TYPE,
  221. ],
  222. 'ALLOW_RECONSUME_SMS_TO' => [
  223. 'label' => '开启复销短信提醒有效期',
  224. 'type' => ValueTypeConfig::DATE_TYPE,
  225. ],
  226. 'HIGHEST_EMP_LV_PERIOD' => '首次达到最高聘级期数',
  227. 'IS_GROUP_LEADER' => [
  228. 'label' => '是否团队领导人',
  229. 'type' => ValueTypeConfig::YES_NO_TYPE,
  230. ],
  231. 'GROUP_LEADER_AT' => [
  232. 'label' => '团队领导人时间',
  233. 'type' => ValueTypeConfig::DATE_TIME_TYPE,
  234. ],
  235. 'TRANSFER_PROP' => '单笔转账比例',
  236. 'SHOW_EMP_LV' => [
  237. 'label' => '前台显示聘级',
  238. 'type' => ValueTypeConfig::EMP_LV_TYPE,
  239. ],
  240. ];
  241. }
  242. }