package Ġcom . q ing zh u . message server . domain . entity Ċ Ċ import Ġcom . q ing zh u . common . domain . shared . msg . constant . Creator Type Ċ import Ġcom . q ing zh u . common . domain . shared . msg . constant . Sys Code Ċ import Ġcom . q ing zh u . common . domain . shared . msg . value . Message Ċ import Ġcom . q ing zh u . message server . domain . constant . From Type Ċ import Ġcom . q ing zh u . message server . domain . constant . Online Status Ċ import Ġjava . time . Instant Ċ Ċ data Ġclass ĠCustomer Status ( ĊĠĠĠ Ġ/** Ġ åħ¬åı¸ id Ġ*/ ĊĠĠĠ Ġval Ġorganization Id : ĠInt , ĊĠĠĠ Ġ/** Ġ å®¢æĪ· ç³»ç»Ł id Ġ*/ ĊĠĠĠ Ġval ĠuserId : ĠLong , ĊĠĠĠ Ġ/** Ġ å®¢æĪ· æıĲäº¤ id Ġ*/ ĊĠĠĠ Ġval Ġuid : ĠString ?, ĊĠĠĠ Ġ/** Ġ èĩªå®ļä¹ī è®¿ å®¢ åĴ ¨ è¯¢ æĿ¥ æºĲ é¡µ çļĦ æłĩé¢ĺ ï¼Į ä¸į éħįç½® sdk ä¼ļ èĩªåĬ¨ æĬ ĵ åıĸ , ĠåĴĮ referrer ä¸Ģèµ· ä½¿çĶ¨ Ġ*/ ĊĠĠĠ Ġval Ġtitle : ĠString ?, ĊĠĠĠ Ġ/** Ġ èĩªå®ļä¹ī è®¿ å®¢ åĴ ¨ è¯¢ æĿ¥ æºĲ é¡µ çļĦ url ï¼Į ä¸į éħįç½® sdk ä¼ļ èĩªåĬ¨ æĬ ĵ åıĸ ï¼Į åĴĮ title ä¸Ģèµ· ä½¿çĶ¨ Ġ*/ ĊĠĠĠ Ġval Ġref errer : ĠString ?, ĊĠĠĠ Ġ/** ĠæĮĩå®ļ å®¢ æľį id Ġ*/ ĊĠĠĠ Ġvar Ġstaff Id : ĠLong ?, ĊĠĠĠ Ġ/** ĠæĮĩå®ļ å®¢ æľį ç»Ħ id Ġ*/ ĊĠĠĠ Ġvar ĠgroupId : ĠLong ?, ĊĠĠĠ Ġ/** Ġ è®¿ å®¢ éĢīæĭ© å¤ļ åħ¥ åı£ åĪĨ æµģ æ¨¡ çīĪ id Ġ*/ ĊĠĠĠ Ġval Ġsh unt Id : ĠLong , ĊĠĠĠ Ġ/** Ġ æľºåĻ¨ äºº ä¼ĺåħĪ å¼Ģ åħ³ ï¼Ī è®¿ å®¢ åĪĨéħį ï¼ī Ġ*/ ĊĠĠĠ Ġval Ġrobot Sh unt Switch : ĠInt ?, ĊĠĠĠ Ġ/** Ġv ip çŃī çº§ Ġ 1 - 1 0 Ġ*/ ĊĠĠĠ Ġval Ġv ip Level : ĠInt ?, ĊĠĠĠ Ġ/** Ġ å®¢æĪ· æĿ¥ æºĲ ç±»åŀĭ Ġ*/ ĊĠĠĠ Ġval Ġfrom Type : ĠFrom Type , ĊĠĠĠ Ġ/** Ġ å®¢æĪ· IP Ġ*/ ĊĠĠĠ Ġval Ġip : ĠString , ĊĠĠĠ Ġ/** Ġ çĻ»å½ķ æĹ¶éĹ´ Ġ*/ ĊĠĠĠ Ġvar Ġlogin Time : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠ Ġ// æĺ¯åĲ¦ åľ¨ çº¿ ĊĠĠĠ Ġvar Ġonline Status : ĠOnline Status Ġ= ĠOnline Status . ON LINE , ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġä¸Ĭ ä¸ĢæĿ¡ æİ¥åıĹ çļĦ æ¶Īæģ¯ ID ï¼Į æĪĸèĢħ äºĭä»¶ åºıåĪĹ ID ĊĠĠĠĠ Ġ* ĠçĶ¨ ä»¥ æ£ĢæŁ¥ æĺ¯åĲ¦ æ¼ı æĶ¶ äºĨ æ¶Īæģ¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġpts : ĠLong ? Ġ= Ġnull , ĊĠĠĠ Ġ// Ġ å®¢æĪ· å¾ħ åĽŀå¤į ĊĠĠĠ Ġvar Ġneed Reply : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġ// Ġ å·²ç»ı èĩªåĬ¨ åĽŀå¤į ĊĠĠĠ Ġvar Ġauto Reply : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġ// Ġ æľĢåĲİ å¾ħ åĽŀå¤į æĹ¶éĹ´ ĊĠĠĠ Ġvar Ġlast Reply Time : ĠInstant Ġ= ĠInstant . now (), Ċ ) Ġ: Ġjava . io . Serializable Ġ{ ĊĠĠĠ Ġ/** Ġ å®¢æĪ· æīĢ å¤Ħ æľįåĬ¡åĻ¨ åĲįç§° Ġ*/ ĊĠĠĠ Ġvar Ġclient Access Server Map : ĠMutable Map < String , ĠString > Ġ= ĠLinkedHashMap () ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠserialVersionUID Ġ= Ġ 1 L ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Offline ( access Server : ĠString ?) Ġ= ĊĠĠĠĠĠĠĠ Ġapply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( access Server Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . client Access Server Map . remove ( access Server ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this . client Access Server Map . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . online Status Ġ= ĠOnline Status . OFF LINE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . online Status Ġ= ĠOnline Status . OFF LINE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstatistics By ChatMessage ( message : ĠMessage ) Ġ= Ġlet Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ å¤ĦçĲĨ Ġ è®°å½ķ æ¶Īæģ¯ äº§çĶŁ çļĦ ä¸´ æĹ¶ ä¿¡æģ¯ ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġif Ġ( message . creator Type Ġ== ĠCreator Type . CUSTOMER ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! it . need Reply ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġè®¾ç½® éľĢè¦ģ å®¢æĪ· åĽŀå¤į ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . need Reply Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . auto Reply Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . last Reply Time Ġ= ĠInstant . now () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( message . creator Type Ġ== ĠCreator Type . STA FF ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . last Reply Time Ġ= ĠInstant . now () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( message . content . sys Code Ġ== ĠSys Code . AUTO _ REPLY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ èĩªåĬ¨ åĽŀå¤į æ¶Īæģ¯ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . auto Reply Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . auto Reply Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġæĺ¯ å®¢ æľį æ¶Īæģ¯ ï¼Į éľĢè¦ģ è®¾ç½® å·² åĽŀå¤į çĬ¶æĢģ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . need Reply Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( message . type Ġ== ĠCreator Type . CUSTOMER ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . pts Ġ= Ġmessage . seq Id ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Online () Ġ= Ġapply Ġ{ Ġthis . online Status Ġ= ĠOnline Status . ON LINE Ġ} Ċ }