etms/WEB-INF/mapping/chat.map.xml

141 lines
3.7 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?>
<dynamic-sql>
<sql id="getChatOrgList"><![CDATA[
select
ID,NAME,SORT_NO
from JCDP_SYS_ORG where STATUS=1
<@p p="AND %s">id</@p>
<@p p=" AND %s">parent_id</@p>
<@p p=" AND (%s)" s=" OR" f="%S LIKE ?">name</@p> order by SORT_NO asc
]]>
</sql>
<sql id="getChatUserByOrg"><![CDATA[
SELECT
USR.ID,
USR.LOGINNAME,
USR.SEX,
USR.USERNAME as name,
<@p p="%s" f="? as pId,">orgid</@p>
'user' as subtype,
'false' as isParent,
USR.USERCODE,
ext.avatars,
ext.remark,
ifnull(userstatus.userstatus,0) as userstatus
FROM
JCDP_SYS_USER USR
LEFT JOIN JCDP_SYS_USER_EXT EXT ON USR.ID = EXT.ID left join JCDP_CHAT_USERSTATUS userstatus on userstatus.userid=USR.id
WHERE
USR.DELETE_FLAG = 0 and usr.status<>2 AND
USR.ID IN (
SELECT
USR1. ID
FROM
JCDP_SYS_USER_ORG uorg
LEFT JOIN JCDP_SYS_USER usr1 ON USR1. ID = UORG.userid
LEFT JOIN JCDP_SYS_ORG org ON org. ID = uorg.orgid
WHERE usr1.USERTYPE<>2
<@p p=" AND %s" f="ORG.ID=?">orgid</@p>
<@p p=" AND %s" f="ORG.%S LIKE ?">cascade_id</@p>
) order by userstatus desc,CONVERT (name USING gbk) ASC
]]></sql>
<sql id="getChatUserCount"><![CDATA[
SELECT count(id)
FROM
JCDP_SYS_USER USR
WHERE
USR.DELETE_FLAG = 0 AND
USR.ID IN (
SELECT
USR1. ID
FROM
JCDP_SYS_USER_ORG uorg
LEFT JOIN JCDP_SYS_USER usr1 ON USR1. ID = UORG.userid
LEFT JOIN JCDP_SYS_ORG org ON org. ID = uorg.orgid
WHERE usr1.USERTYPE<>2
<@p p=" AND %s" f="ORG.CASCADE_ID like ?">orgid</@p>
)
]]></sql>
<sql id="getChatOnlineUserCount">
<![CDATA[
SELECT count(id)
FROM
JCDP_CHAT_USERSTATUS USR
WHERE USR.USERSTATUS>0 AND
USR.USERID IN (
SELECT
USR1. ID
FROM
JCDP_SYS_USER_ORG uorg
LEFT JOIN JCDP_SYS_USER usr1 ON USR1. ID = UORG.userid
LEFT JOIN JCDP_SYS_ORG org ON org. ID = uorg.orgid
WHERE usr1.USERTYPE<>2
<@p p=" AND %s" f="ORG.CASCADE_ID like ?">orgid</@p>
)
]]></sql>
<sql id="getChatUserbyUserId"><![CDATA[
select * from JCDP_CHAT_USERSTATUS where <@p p=" %s" f="userid=?">userid</@p>
]]></sql>
<sql id="getChatUserStatus"><![CDATA[
SELECT
u.USERCODE,
ifnull(us.userstatus, 0) AS userstatus
FROM
jcdp_sys_user u
LEFT JOIN JCDP_CHAT_USERSTATUS us ON u.id = us.userid where <@p p=" %s" f="u.id=?">userid</@p>
]]></sql>
<sql id="getOnlineUserIds"><![CDATA[
select userid,USERCODE from JCDP_CHAT_USERSTATUS where userstatus>0 <@p p=" AND %s" f="userid<>?">userid</@p>
]]></sql>
<sql id="getUserSessionList"><![CDATA[
select sessionid from JCDP_SYS_SESSION where 1=1
<@p p=" AND userid=?">userid</@p>
<@p p=" AND %s">sessionstate</@p>
]]></sql>
<sql id="ChatUserHeartBeat"><![CDATA[
UPDATE JCDP_CHAT_USERSTATUS
SET HEARTBEAT = NOW()
WHERE <@p p=" userid=?">userid</@p>
]]></sql>
<sql id="GetCheckChatUserOffline"><![CDATA[
SELECT
userid,
usercode
FROM
JCDP_CHAT_USERSTATUS
WHERE
USERSTATUS > 0
AND TIMESTAMPDIFF(SECOND,HEARTBEAT,NOW()) ><@p p="?">second</@p>
]]></sql>
<sql id="CheckChatUserOffline"><![CDATA[
UPDATE JCDP_CHAT_USERSTATUS
SET USERSTATUS = 0
WHERE
USERSTATUS > 0
AND TIMESTAMPDIFF(SECOND,HEARTBEAT,NOW()) ><@p p="?">second</@p>
]]></sql>
<sql id="getChatUserInfo"><![CDATA[
SELECT
usr.id,
usr.loginname,
usr.username,
usr.usercode,
usr.sex,
ext.EMAIL,
ext.MOBILE,
ext.PHONE,
ext.AVATARS,
ext.ADDRESS,
ext.ZIP,
ext.BIRTHDAY,
ext.REMARK,
ext.USERIMG,
US.USERSTATUS
FROM JCDP_SYS_USER usr
LEFT JOIN JCDP_CHAT_USERSTATUS us ON usr.id = US.USERID
LEFT JOIN JCDP_SYS_USER_EXT ext ON usr.id = ext.ID
WHERE
<@p p=" usr.id=?">userid</@p>
]]></sql>
</dynamic-sql>