
    H(i                         d dl mZ d dlmZmZmZmZ d dlmZm	Z	m
Z
mZ d dlmZ d dlmZ  G d de      Z G d d	e      Zy
)    )Field)INTEGERVARCHAR
BigInteger
ForeignKey)MappedSessionmapped_columnrelationship)Base)CustomModelc                   v   e Zd ZU  ed      Zedz  ed<    ed      Zedz  ed<    ed      Zedz  ed<    ed      Z	edz  ed<    ed      Z
edz  ed<    ed      Zedz  ed<    ed      Zedz  ed	<    ed      Zedz  ed
<    ed      Zedz  ed<    ed      Zedz  ed<   dZedz  ed<   y)CustomerLocationBaseN)defaultcustomer_location_idISEC_Segmentsample_sizeaverage_ageincome_levelsoccupation_modeeducation_level_modeshopping_frequency_per_monthhousehold_consumption_per_month%total_household_consumption_per_monthgroup_id)__name__
__module____qualname__r   r   int__annotations__r   r   r   r   strr   r   r   r   r   r        H/var/www/html/retail-simulation-api/app/models/main/customer_location.pyr   r      s    ',T':#*:$T2L#*2#D1Kt1#D1Kt1 %d 3M3:3"'"5OS4Z5',T':#*:/4T/B #*B272E#S4ZE8=d8K)3:K HsTz r#   r   c            	       d   e Zd ZU dZ edd      Zee   ed<    ede	d      Z
ee   ed<    ee	d      Zee   ed<    ee	d      Zee   ed	<    e ed
      d      Zee   ed<    e ed      d      Zee   ed<    e ed      d      Zee   ed<    ee	d      Zee   ed<    eed      Zee   ed<    eed      Zee   ed<    ede	 ed      d      Zee   ed<    edd      Zedededd fd       Zedededdfd       Zededededdfd       Zededede fd       Z!y) TblCustomerLocationtbl_customer_locationT)primary_keyautoincrementr   r   F)nullabler   r      r   d   r   r   r   r   r   r   ztbl_group.group_idTblGroupcustomerlocation)back_populatesdatadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr"   )
model_dumpaddflush)clsr0   r1   	data_dictnew_datas        r$   createzTblCustomerLocation.create&   s5    OO%	##
x

r#   zTblCustomerLocation | Nonec                 x    |j                  |       j                  | j                  |k(        j                         S N)queryfilterr   first)r7   r   r1   s      r$   	get_by_idzTblCustomerLocation.get_by_id.   s0    xx}##C$<$<@T$TU[[]]r#   c                 4   |j                  |       j                  | j                  |k(        j                         }|sy |j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r<   )	r=   r>   r   r?   r4   itemssetattrcommitrefresh)r7   r   r0   r1   get_datar8   keyvalues           r$   updatezTblCustomerLocation.update2   s    88C=''(@(@DX(XY__aOO%	#//+JC #u- , 			


8r#   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          y)NFT)r=   r>   r   r?   deleterD   )r7   r   r1   objs       r$   rK   zTblCustomerLocation.delete?   sL    hhsm""3#;#;?S#STZZ\
		#
		r#   N)"r   r   r   __tablename__r
   r   r   r   r    r   r   r   r   r   r   r!   r   r   r   r   r   r   r   r   r   groupclassmethodr   r	   r:   r@   rI   boolrK   r"   r#   r$   r&   r&      s   +M(5$VZ([&+[ -ngPU VL&+V,WuEKE,WuEKE!.ws|d!KM6#;K#0#MOVC[M(5gclT(R&+R0=gPU0V &+V3@V[3\#VC[\9Fz\`9a)6#;a)*gzJ^?_jnoHfSko4FGE. G @U   ^S ^g ^B^ ^ ^ 
# 
5I 
w 
[w 
 
 # 7 t  r#   r&   N)pydanticr   
sqlalchemyr   r   r   r   sqlalchemy.ormr   r	   r
   r   app.models.mainr   app.utils.schemas_utilsr   r   r&   r"   r#   r$   <module>rV      s2     ? ? G G   /!; !1$ 1r#   