B
    CDb  ã               @   s$   G d d„ de ƒZG dd„ deƒZdS )c               @   s   e Zd Zdd„ ZdS )Ú	RedisBasec             C   s   t ƒ | _d S )N)Zget_redis_clientÚ_client)Úself© r   ú5G:\easytimepro\master/mysite/base\redis_utils\base.pyÚ__init__	   s    zRedisBase.__init__N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s   r   c                   sT   e Zd Z‡ fdd„Z‡ fdd„Zdd„ Zedd„ ƒZd	d
„ Zdd„ Z	dd„ Z
‡  ZS )ÚEmployeeRedisc                s*   t | dƒs$tt| ƒj| f|ž|Ž| _| jS )Z	singletonÚ	_instance)ÚhasattrÚsuperr
   Ú__new__r   )ÚclsÚargsÚkwargs)Ú	__class__r   r   r      s    
zEmployeeRedis.__new__c                s    t t| ƒ ¡  d| _|  ¡  d S )NÚ	emp_count)r   r
   r   Útotal_emp_count_keyÚ_reset_emp_count)r   )r   r   r   r      s    zEmployeeRedis.__init__c             C   sD   ddl m} | j | j¡ x$|j ¡ D ]}| j | j|j¡ q&W dS )zreset total emp counté    )ÚEmployeeN)	Zmysite.personnel.modelsr   r   Údeleter   ZobjectsÚallÚsaddÚid)r   r   Zempr   r   r   r   !   s    zEmployeeRedis._reset_emp_countc             C   s   | j  | j¡}|S )zget total emp count)r   Zscardr   )r   Ztotal_emp_countr   r   r   r   (   s    zEmployeeRedis.emp_countc             C   s   | j  | j|¡ dS )z*when delete emp, need delete his id in setN)r   Zsremr   )r   Úemp_idr   r   r   Úemp_count_reduce.   s    zEmployeeRedis.emp_count_reducec             C   s   | j  | j|¡ dS )z$when add emp, need add his id in setN)r   r   r   )r   r   r   r   r   Úemp_count_increase2   s    z EmployeeRedis.emp_count_increasec             C   s   | j  | j|¡}|S )zcheck one emp in set or not)r   Z	sismemberr   )r   r   Úresr   r   r   Ú	is_member6   s    zEmployeeRedis.is_member)r   r   r	   r   r   r   Úpropertyr   r   r   r    Ú__classcell__r   r   )r   r   r
      s   r
   N)Úobjectr   r
   r   r   r   r   Ú<module>   s   