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

169 lines
3.5 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?>
<dynamic-sql>
<sql id="getFriendApplys"><![CDATA[
select
*
from jcdp_chat_friends_apply where 1=1
<@p p=" AND %s">applyerid</@p>
<@p p=" AND %s">receiverid</@p>
<@p p=" AND %s">isagree</@p>
order by APPLYTIME desc
]]>
</sql>
<sql id="getMyFriendApplys"><![CDATA[
SELECT
apply.id AS applyid,
apply.remark,
apply.APPLYTIME,
u.id AS userid,
u.USERNAME,
u.usercode,
u.sex,
ext.AVATARS
FROM
jcdp_chat_friends_apply apply
LEFT JOIN jcdp_sys_user u ON u.id = apply.APPLYERID
LEFT JOIN jcdp_sys_user_ext ext ON ext.id = u.id where 1=1
<@p p=" AND %s">applyerid</@p>
<@p p=" AND %s">receiverid</@p>
<@p p=" AND %s">isagree</@p>
order by APPLYTIME desc
]]>
</sql>
<sql id="getNewFriends"><![CDATA[
SELECT
us.id,
us.USERNAME,
us.USERCODE,
us.SEX,
ext.AVATARS,
ext.REMARK
FROM
jcdp_sys_user us
LEFT JOIN jcdp_sys_user_ext ext ON ext.ID = us.ID
WHERE
DELETE_FLAG = 0
AND STATUS = 1
AND us.USERCODE IS NOT NULL
<@p p=" AND (%s" f="lower(us.%S) LIKE ?">username</@p>
<@p p=" or %s" f="lower(us.%S) LIKE ?">usercode</@p>
<@p p=" or %s)" f="lower(ext.%S) LIKE ?">remark</@p>
AND us.id NOT IN (
SELECT
FRIENDID
FROM
jcdp_chat_friends
WHERE
<@p p=" %s">userid</@p>
)
AND us.id NOT IN (
SELECT
u.id
FROM
jcdp_sys_user u
LEFT JOIN jcdp_sys_user_org uo ON uo.USERID = u.id
LEFT JOIN jcdp_sys_org org ON org.id = uo.ORGID
WHERE
<#list cascades as con>
org.CASCADE_ID LIKE '${con}%'
<#if con_has_next>
or
</#if>
</#list>
)
]]>
</sql>
<sql id="getFriendById"><![CDATA[
SELECT
*
FROM
jcdp_chat_friends
WHERE 1=1
<@p p=" AND %s">userid</@p>
<@p p=" AND %s">friendid</@p>
]]>
</sql>
<sql id="getFriends"><![CDATA[
SELECT
u.ID,
u.LOGINNAME,
u.SEX,
u.USERNAME AS NAME,
'user' AS subtype,
u.USERCODE,
ext.avatars,
ext.remark,
ifnull(userstatus.userstatus, 0) AS userstatus,
fs.CATENAME,
fs.REMARK AS ownremark
FROM
jcdp_chat_friends fs
LEFT JOIN jcdp_sys_user u ON u.id = fs.FRIENDID
LEFT JOIN jcdp_sys_user_ext ext ON ext.id = u.id
LEFT JOIN JCDP_CHAT_USERSTATUS userstatus ON userstatus.userid = u.id
WHERE 1=1
<@p p=" AND %s" f="fs.USERID= ?">userid</@p>
AND u.DELETE_FLAG = 0
AND u. STATUS = 1 order by userstatus desc,CONVERT (name USING gbk) ASC
]]>
</sql>
<sql id="deleteFriend"><![CDATA[
delete
FROM
jcdp_chat_friends
WHERE 1=1
<@p p=" AND %s">userid</@p>
<@p p=" AND %s">friendid</@p>
]]>
</sql>
<sql id="deleteFriendApply"><![CDATA[
DELETE
FROM
jcdp_chat_friends_apply
WHERE
(
<@p p="%s" f="APPLYERID= ?">applyerid</@p>
<@p p=" AND %s" f="RECEIVERID= ?">receiverid</@p>
)
OR (
<@p p="%s" f="APPLYERID= ?">applyerid1</@p>
<@p p=" AND %s" f="RECEIVERID= ?">receiverid1</@p>
)
]]>
</sql>
<sql id="getMyOnlineUsers"><![CDATA[
SELECT
u.USERCODE
FROM
jcdp_sys_user u
LEFT JOIN jcdp_chat_userstatus stat ON u.id = stat.USERID
WHERE
stat.USERSTATUS > 0
AND (
u.id IN (
SELECT
fs.USERID
FROM
jcdp_chat_friends fs
WHERE
<@p p="%s" f="fs.friendid = ?">userid</@p>
)
OR u.id IN (
SELECT
ua.id
FROM
jcdp_sys_user ua
LEFT JOIN jcdp_sys_user_org uo ON uo.USERID = ua.id
LEFT JOIN jcdp_sys_org org ON org.id = uo.ORGID
WHERE
<#list cascades as con>
org.CASCADE_ID LIKE '${con}%'
<#if con_has_next>
or
</#if>
</#list>
)
) <@p p=" and %s" f="u.id!= ?">userid1</@p>
]]>
</sql>
</dynamic-sql>