Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
aserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
15所TongWeb
aserver
Commits
6ea651d4
Commit
6ea651d4
authored
Apr 06, 2021
by
刘可心
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
标记为已读
parent
ebe4b2d6
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
400 additions
and
355 deletions
+400
-355
MessageController.java
...ava/com/archser/aserver/controller/MessageController.java
+127
-118
MessageService.java
...main/java/com/archser/aserver/service/MessageService.java
+202
-180
message.sql
src/main/resources/message.sql
+71
-57
No files found.
src/main/java/com/archser/aserver/controller/MessageController.java
View file @
6ea651d4
package
com
.
archser
.
aserver
.
controller
;
import
com.archser.aserver.util.FinalStringUtil
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.log4j.Logger
;
import
com.alibaba.fastjson.JSON
;
import
com.archser.aserver.interceptor.JwtInterceptor
;
import
com.archser.aserver.model.Message
;
import
com.archser.aserver.service.LogService
;
import
com.archser.aserver.service.MessageService
;
import
com.archser.aserver.websocket.MessageRefreshTrigger
;
import
com.jfinal.aop.Clear
;
import
com.jfinal.aop.Inject
;
import
com.jfinal.core.Controller
;
import
com.jfinal.kit.Ret
;
import
com.jfinal.kit.StrKit
;
import
com.jfinal.plugin.activerecord.Page
;
/**
* 消息相关
*
* @author dgq
*
*/
public
class
MessageController
extends
Controller
{
@Inject
LogService
logService
;
@Inject
MessageService
messageService
;
private
static
final
Logger
logger
=
Logger
.
getLogger
(
MessageController
.
class
);
/**
* 获取未读消息数量
*/
public
void
count
()
{
String
username
=
this
.
getAttr
(
"username"
);
Long
count
=
messageService
.
getCountByRead
(
null
,
username
);
this
.
renderJson
(
Ret
.
ok
(
"count"
,
count
));
}
/**
* menu unread:未读,readed:已读,其他;查询所有
*/
public
void
getMessagePageData
()
{
int
pageNumber
=
this
.
getParaToInt
(
"pageNumber"
);
int
pageSize
=
this
.
getParaToInt
(
"pageSize"
);
String
username
=
this
.
getAttr
(
"username"
);
String
menu
=
this
.
getPara
(
"menu"
);
/** 2020年7月1日 添加模糊查询 yangchengwu YZJ-3915*/
String
likeVal
=
this
.
getPara
(
"likeVal"
);
Page
<
Message
>
page
=
messageService
.
getMessagePageData
(
pageNumber
,
pageSize
,
username
,
menu
,
likeVal
);
if
(
page
!=
null
)
{
renderJson
(
Ret
.
ok
(
"page"
,
page
));
}
else
{
renderJson
(
Ret
.
fail
(
"msg"
,
"获取消息列表失败"
));
}
}
/**
* 标记为已读
*/
public
void
markRead
()
{
int
id
=
this
.
getParaToInt
(
"id"
);
boolean
markRead
=
this
.
messageService
.
markRead
(
id
);
renderJson
(
markRead
?
Ret
.
ok
():
Ret
.
fail
());
}
/**
* 删除消息
*/
public
void
deleteMessage
()
{
String
ids
=
this
.
getPara
(
"ids"
);
if
(
ids
.
length
()
==
0
)
{
renderJson
(
Ret
.
fail
());
}
boolean
deleted
=
this
.
messageService
.
deleteMessage
(
ids
.
split
(
","
));
if
(
deleted
)
{
renderJson
(
Ret
.
ok
());
logService
.
saveAsLog
(
"operate"
,
"个人首页-消息中心-删除消息-"
+
"-已删除了"
+
ids
.
split
(
","
).
length
+
"个消息"
,
FinalStringUtil
.
DELETE
);
}
else
{
renderJson
(
Ret
.
fail
());
logService
.
saveAsLog
(
"operate"
,
"个人首页-消息中心-删除消息-删除消息失败"
,
FinalStringUtil
.
DELETE
);
}
}
/**
* 根据指定用户更新websocket的消息
*/
@Clear
(
JwtInterceptor
.
class
)
public
void
refreshMessage
()
{
try
{
String
userId
=
this
.
getPara
(
"userId"
);
if
(
StrKit
.
isBlank
(
userId
))
{
userId
=
IOUtils
.
toString
(
this
.
getRequest
().
getInputStream
());
userId
=
JSON
.
parseObject
(
userId
).
getString
(
"userId"
);
}
logger
.
error
(
"接受到消息刷新"
+
userId
);
if
(
StrKit
.
notBlank
(
userId
))
{
boolean
refrashed
=
MessageRefreshTrigger
.
refresh
(
userId
);
renderJson
(
Ret
.
ok
(
"refrashed"
,
refrashed
));
}
else
{
renderJson
(
Ret
.
fail
(
"msg"
,
"userId为null或userId不是一个数字"
));
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"刷新消息出错"
,
e
);
renderJson
(
Ret
.
fail
(
"msg"
,
"刷新消息出错"
));
}
}
}
package
com
.
archser
.
aserver
.
controller
;
import
com.archser.aserver.util.FinalStringUtil
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.log4j.Logger
;
import
com.alibaba.fastjson.JSON
;
import
com.archser.aserver.interceptor.JwtInterceptor
;
import
com.archser.aserver.model.Message
;
import
com.archser.aserver.service.LogService
;
import
com.archser.aserver.service.MessageService
;
import
com.archser.aserver.websocket.MessageRefreshTrigger
;
import
com.jfinal.aop.Clear
;
import
com.jfinal.aop.Inject
;
import
com.jfinal.core.Controller
;
import
com.jfinal.kit.Ret
;
import
com.jfinal.kit.StrKit
;
import
com.jfinal.plugin.activerecord.Page
;
/**
* 消息相关
*
* @author dgq
*
*/
public
class
MessageController
extends
Controller
{
@Inject
LogService
logService
;
@Inject
MessageService
messageService
;
private
static
final
Logger
logger
=
Logger
.
getLogger
(
MessageController
.
class
);
/**
* 获取未读消息数量
*/
public
void
count
()
{
String
username
=
this
.
getAttr
(
"username"
);
Long
count
=
messageService
.
getCountByRead
(
null
,
username
);
this
.
renderJson
(
Ret
.
ok
(
"count"
,
count
));
}
/**
* menu unread:未读,readed:已读,其他;查询所有
*/
public
void
getMessagePageData
()
{
int
pageNumber
=
this
.
getParaToInt
(
"pageNumber"
);
int
pageSize
=
this
.
getParaToInt
(
"pageSize"
);
String
username
=
this
.
getAttr
(
"username"
);
String
menu
=
this
.
getPara
(
"menu"
);
/** 2020年7月1日 添加模糊查询 yangchengwu YZJ-3915*/
String
likeVal
=
this
.
getPara
(
"likeVal"
);
Page
<
Message
>
page
=
messageService
.
getMessagePageData
(
pageNumber
,
pageSize
,
username
,
menu
,
likeVal
);
if
(
page
!=
null
)
{
renderJson
(
Ret
.
ok
(
"page"
,
page
));
}
else
{
renderJson
(
Ret
.
fail
(
"msg"
,
"获取消息列表失败"
));
}
}
/**
* 标记为已读
*/
public
void
markRead
()
{
int
id
=
this
.
getParaToInt
(
"id"
);
boolean
markRead
=
this
.
messageService
.
markRead
(
id
);
renderJson
(
markRead
?
Ret
.
ok
():
Ret
.
fail
());
}
/**
* 删除消息
*/
public
void
deleteMessage
()
{
String
ids
=
this
.
getPara
(
"ids"
);
if
(
ids
.
length
()
==
0
)
{
renderJson
(
Ret
.
fail
());
}
boolean
deleted
=
this
.
messageService
.
deleteMessage
(
ids
.
split
(
","
));
if
(
deleted
)
{
renderJson
(
Ret
.
ok
());
logService
.
saveAsLog
(
"operate"
,
"个人首页-消息中心-删除消息-"
+
"-已删除了"
+
ids
.
split
(
","
).
length
+
"个消息"
,
FinalStringUtil
.
DELETE
);
}
else
{
renderJson
(
Ret
.
fail
());
logService
.
saveAsLog
(
"operate"
,
"个人首页-消息中心-删除消息-删除消息失败"
,
FinalStringUtil
.
DELETE
);
}
}
/**
* 根据指定用户更新websocket的消息
*/
@Clear
(
JwtInterceptor
.
class
)
public
void
refreshMessage
()
{
try
{
String
userId
=
this
.
getPara
(
"userId"
);
if
(
StrKit
.
isBlank
(
userId
))
{
userId
=
IOUtils
.
toString
(
this
.
getRequest
().
getInputStream
());
userId
=
JSON
.
parseObject
(
userId
).
getString
(
"userId"
);
}
logger
.
error
(
"接受到消息刷新"
+
userId
);
if
(
StrKit
.
notBlank
(
userId
))
{
boolean
refrashed
=
MessageRefreshTrigger
.
refresh
(
userId
);
renderJson
(
Ret
.
ok
(
"refrashed"
,
refrashed
));
}
else
{
renderJson
(
Ret
.
fail
(
"msg"
,
"userId为null或userId不是一个数字"
));
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"刷新消息出错"
,
e
);
renderJson
(
Ret
.
fail
(
"msg"
,
"刷新消息出错"
));
}
}
/**
* LiuKexin 20210402 批量标记为已读,且将通知性消息标为已读,下载或跳转的消息不批量已读
*/
public
void
allMsgReaded
()
{
String
username
=
this
.
getAttr
(
"username"
);
Ret
allMsgReaded
=
messageService
.
allMsgReaded
(
username
);
renderJson
(
allMsgReaded
);
}
}
src/main/java/com/archser/aserver/service/MessageService.java
View file @
6ea651d4
package
com
.
archser
.
aserver
.
service
;
import
java.util.List
;
import
org.apache.log4j.Logger
;
import
com.archser.aserver.model.Message
;
import
com.archser.aserver.websocket.MessageRefreshTrigger
;
import
com.jfinal.kit.Kv
;
import
com.jfinal.plugin.activerecord.Db
;
import
com.jfinal.plugin.activerecord.Page
;
import
com.jfinal.plugin.activerecord.Record
;
public
class
MessageService
{
private
Message
messageDao
=
Message
.
dao
;
private
static
final
Logger
logger
=
Logger
.
getLogger
(
MessageService
.
class
);
/**
* @param pageNumber
* @param pageSize
* @param username
* @param menu unread:未读,readed:已读,其他;查询所有
* @return
*/
public
Page
<
Message
>
getMessagePageData
(
int
pageNumber
,
int
pageSize
,
String
username
,
String
menu
,
String
likeVal
)
{
Integer
userId
=
Db
.
queryInt
(
Db
.
getSql
(
"getUserId"
),
username
);
Page
<
Message
>
page
=
messageDao
.
paginate
(
pageNumber
,
pageSize
,
Db
.
getSqlPara
(
"message.getMessagePageData"
,
Kv
.
by
(
"send_to_id"
,
userId
).
set
(
"menu"
,
menu
).
set
(
"likeVal"
,
likeVal
)));
return
page
;
}
public
Page
<
Record
>
getUnreadMessage
(
int
pageNumber
,
int
pageSize
,
Integer
userId
)
{
Page
<
Record
>
paginate
=
Db
.
paginate
(
pageNumber
,
pageSize
,
Db
.
getSqlPara
(
"message.getMessagePageData"
,
Kv
.
by
(
"send_to_id"
,
userId
).
set
(
"menu"
,
"unread"
)));
return
paginate
;
}
public
boolean
markRead
(
int
id
)
{
int
update
=
Db
.
update
(
Db
.
getSqlPara
(
"message.markRead"
,
Kv
.
by
(
"id"
,
id
)));
return
update
==
1
;
}
public
boolean
deleteMessage
(
String
[]
idArray
)
{
int
update
=
Db
.
update
(
Db
.
getSqlPara
(
"message.deleteMessage"
,
Kv
.
by
(
"ids"
,
idArray
)));
return
update
==
idArray
.
length
;
}
public
Long
getCountByRead
(
String
read
,
String
username
)
{
Record
findFirst
=
Db
.
findFirst
(
Db
.
getSqlPara
(
"message.getCountByRead"
,
Kv
.
by
(
"read"
,
read
).
set
(
"username"
,
username
)));
return
findFirst
.
getLong
(
"count"
);
}
/**
* 更新消息
* @param userIds 要更新的用户id 使用,分割用户id
* @return
*/
public
static
boolean
refreshMessageByUserId
(
String
userIds
)
{
try
{
return
loaclRefresh
(
userIds
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"更新消息出错"
,
e
);
return
false
;
}
}
/**
* 更新消息
* @param userId 要更新的用户id
* @return
*/
public
static
boolean
refreshMessageByUserId
(
Integer
userId
)
{
if
(
userId
==
null
)
{
return
false
;
}
try
{
return
loaclRefresh
(
userId
.
toString
());
}
catch
(
Exception
e
)
{
logger
.
error
(
"更新消息出错"
,
e
);
return
false
;
}
}
/**
* 刷新消息
* @param asMessage
* @return
*/
public
static
boolean
refreshMessage
(
Message
asMessage
)
{
return
refreshMessageByUserId
(
asMessage
.
getSendToId
());
}
/**
* 刷新消息
* @param messageList
* @return
*/
public
static
boolean
refreshMessage
(
List
<
Message
>
messageList
)
{
if
(
messageList
==
null
||
messageList
.
isEmpty
())
{
return
false
;
}
StringBuilder
idBuiler
=
new
StringBuilder
();
for
(
Message
asMessage
:
messageList
)
{
idBuiler
.
append
(
asMessage
.
getSendToId
());
idBuiler
.
append
(
","
);
}
if
(
idBuiler
.
length
()
>
0
)
{
idBuiler
.
deleteCharAt
(
idBuiler
.
length
()
-
1
);
}
return
refreshMessageByUserId
(
idBuiler
.
toString
());
}
/**
* 刷新消息
* @param asMessage
* @return
*/
public
static
boolean
refreshMessageRecord
(
Record
asMessage
)
{
return
refreshMessageByUserId
(
asMessage
.
getInt
(
"send_to_id"
));
}
/**
* 刷新消息
* @param messageList
* @return
*/
public
static
boolean
refreshMessageRecord
(
List
<
Record
>
messageList
)
{
if
(
messageList
==
null
||
messageList
.
isEmpty
())
{
return
false
;
}
StringBuilder
idBuiler
=
new
StringBuilder
();
for
(
Record
asMessage
:
messageList
)
{
if
(
asMessage
.
getInt
(
"send_to_id"
)
!=
null
)
{
idBuiler
.
append
(
asMessage
.
getInt
(
"send_to_id"
));
idBuiler
.
append
(
","
);
}
}
if
(
idBuiler
.
length
()
>
0
)
{
idBuiler
.
deleteCharAt
(
idBuiler
.
length
()
-
1
);
}
return
refreshMessageByUserId
(
idBuiler
.
toString
());
}
/**
* 保存消息并且刷新消息
* @param asMessage
* @return
*/
public
boolean
saveMessageAndRefresh
(
Message
asMessage
)
{
boolean
save
=
asMessage
.
save
();
if
(
save
)
{
return
refreshMessage
(
asMessage
);
}
return
false
;
}
/**
* 保存消息并且刷新消息
* @param asMessageList
* @return
*/
public
boolean
saveMessageAndRefresh
(
List
<
Message
>
asMessageList
)
{
int
[]
batchSave
=
Db
.
batchSave
(
asMessageList
,
asMessageList
.
size
());
if
(
batchSave
.
length
==
asMessageList
.
size
())
{
return
refreshMessage
(
asMessageList
);
}
return
false
;
}
private
static
boolean
loaclRefresh
(
String
userIds
)
{
MessageRefreshTrigger
.
refresh
(
userIds
);
return
true
;
}
}
package
com
.
archser
.
aserver
.
service
;
import
java.util.List
;
import
org.apache.log4j.Logger
;
import
com.archser.aserver.model.Message
;
import
com.archser.aserver.websocket.MessageRefreshTrigger
;
import
com.jfinal.kit.Kv
;
import
com.jfinal.kit.Ret
;
import
com.jfinal.plugin.activerecord.Db
;
import
com.jfinal.plugin.activerecord.Page
;
import
com.jfinal.plugin.activerecord.Record
;
public
class
MessageService
{
private
Message
messageDao
=
Message
.
dao
;
private
static
final
Logger
logger
=
Logger
.
getLogger
(
MessageService
.
class
);
/**
* @param pageNumber
* @param pageSize
* @param username
* @param menu unread:未读,readed:已读,其他;查询所有
* @return
*/
public
Page
<
Message
>
getMessagePageData
(
int
pageNumber
,
int
pageSize
,
String
username
,
String
menu
,
String
likeVal
)
{
Integer
userId
=
Db
.
queryInt
(
Db
.
getSql
(
"getUserId"
),
username
);
Page
<
Message
>
page
=
messageDao
.
paginate
(
pageNumber
,
pageSize
,
Db
.
getSqlPara
(
"message.getMessagePageData"
,
Kv
.
by
(
"send_to_id"
,
userId
).
set
(
"menu"
,
menu
).
set
(
"likeVal"
,
likeVal
)));
return
page
;
}
public
Page
<
Record
>
getUnreadMessage
(
int
pageNumber
,
int
pageSize
,
Integer
userId
)
{
Page
<
Record
>
paginate
=
Db
.
paginate
(
pageNumber
,
pageSize
,
Db
.
getSqlPara
(
"message.getMessagePageData"
,
Kv
.
by
(
"send_to_id"
,
userId
).
set
(
"menu"
,
"unread"
)));
return
paginate
;
}
public
boolean
markRead
(
int
id
)
{
int
update
=
Db
.
update
(
Db
.
getSqlPara
(
"message.markRead"
,
Kv
.
by
(
"id"
,
id
)));
return
update
==
1
;
}
public
boolean
deleteMessage
(
String
[]
idArray
)
{
int
update
=
Db
.
update
(
Db
.
getSqlPara
(
"message.deleteMessage"
,
Kv
.
by
(
"ids"
,
idArray
)));
return
update
==
idArray
.
length
;
}
public
Long
getCountByRead
(
String
read
,
String
username
)
{
Record
findFirst
=
Db
.
findFirst
(
Db
.
getSqlPara
(
"message.getCountByRead"
,
Kv
.
by
(
"read"
,
read
).
set
(
"username"
,
username
)));
return
findFirst
.
getLong
(
"count"
);
}
/**
* 更新消息
* @param userIds 要更新的用户id 使用,分割用户id
* @return
*/
public
static
boolean
refreshMessageByUserId
(
String
userIds
)
{
try
{
return
loaclRefresh
(
userIds
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"更新消息出错"
,
e
);
return
false
;
}
}
/**
* 更新消息
* @param userId 要更新的用户id
* @return
*/
public
static
boolean
refreshMessageByUserId
(
Integer
userId
)
{
if
(
userId
==
null
)
{
return
false
;
}
try
{
return
loaclRefresh
(
userId
.
toString
());
}
catch
(
Exception
e
)
{
logger
.
error
(
"更新消息出错"
,
e
);
return
false
;
}
}
/**
* 刷新消息
* @param asMessage
* @return
*/
public
static
boolean
refreshMessage
(
Message
asMessage
)
{
return
refreshMessageByUserId
(
asMessage
.
getSendToId
());
}
/**
* 刷新消息
* @param messageList
* @return
*/
public
static
boolean
refreshMessage
(
List
<
Message
>
messageList
)
{
if
(
messageList
==
null
||
messageList
.
isEmpty
())
{
return
false
;
}
StringBuilder
idBuiler
=
new
StringBuilder
();
for
(
Message
asMessage
:
messageList
)
{
idBuiler
.
append
(
asMessage
.
getSendToId
());
idBuiler
.
append
(
","
);
}
if
(
idBuiler
.
length
()
>
0
)
{
idBuiler
.
deleteCharAt
(
idBuiler
.
length
()
-
1
);
}
return
refreshMessageByUserId
(
idBuiler
.
toString
());
}
/**
* 刷新消息
* @param asMessage
* @return
*/
public
static
boolean
refreshMessageRecord
(
Record
asMessage
)
{
return
refreshMessageByUserId
(
asMessage
.
getInt
(
"send_to_id"
));
}
/**
* 刷新消息
* @param messageList
* @return
*/
public
static
boolean
refreshMessageRecord
(
List
<
Record
>
messageList
)
{
if
(
messageList
==
null
||
messageList
.
isEmpty
())
{
return
false
;
}
StringBuilder
idBuiler
=
new
StringBuilder
();
for
(
Record
asMessage
:
messageList
)
{
if
(
asMessage
.
getInt
(
"send_to_id"
)
!=
null
)
{
idBuiler
.
append
(
asMessage
.
getInt
(
"send_to_id"
));
idBuiler
.
append
(
","
);
}
}
if
(
idBuiler
.
length
()
>
0
)
{
idBuiler
.
deleteCharAt
(
idBuiler
.
length
()
-
1
);
}
return
refreshMessageByUserId
(
idBuiler
.
toString
());
}
/**
* 保存消息并且刷新消息
* @param asMessage
* @return
*/
public
boolean
saveMessageAndRefresh
(
Message
asMessage
)
{
boolean
save
=
asMessage
.
save
();
if
(
save
)
{
return
refreshMessage
(
asMessage
);
}
return
false
;
}
/**
* 保存消息并且刷新消息
* @param asMessageList
* @return
*/
public
boolean
saveMessageAndRefresh
(
List
<
Message
>
asMessageList
)
{
int
[]
batchSave
=
Db
.
batchSave
(
asMessageList
,
asMessageList
.
size
());
if
(
batchSave
.
length
==
asMessageList
.
size
())
{
return
refreshMessage
(
asMessageList
);
}
return
false
;
}
private
static
boolean
loaclRefresh
(
String
userIds
)
{
MessageRefreshTrigger
.
refresh
(
userIds
);
return
true
;
}
/**
* LiuKexin 20210402 批量标记为已读,且将通知性消息标为已读,下载或跳转的消息不批量已读
*/
public
Ret
allMsgReaded
(
String
username
)
{
try
{
Integer
userId
=
Db
.
queryInt
(
Db
.
getSql
(
"getUserId"
),
username
);
List
<
Record
>
getUnReadMsg
=
Db
.
find
(
Db
.
getSqlPara
(
"message.getMessageInUnread"
,
Kv
.
by
(
"send_to_id"
,
userId
)));
if
(
getUnReadMsg
.
size
()
==
0
)
{
return
Ret
.
fail
(
"msg"
,
"暂没有未读消息"
);
}
for
(
Record
readMsg
:
getUnReadMsg
)
{
if
(
readMsg
.
getStr
(
"path"
)
==
null
||
""
.
equals
(
readMsg
.
getStr
(
"path"
)))
{
Db
.
update
(
Db
.
getSqlPara
(
"message.markRead"
,
Kv
.
by
(
"id"
,
readMsg
.
getStr
(
"id"
))));
}
}
return
Ret
.
ok
(
"msg"
,
"已将通知性消息全部标记为已读"
);
}
catch
(
Exception
e
)
{
return
Ret
.
fail
(
"msg"
,
"批量标为已读失败"
);
}
}
}
src/main/resources/message.sql
View file @
6ea651d4
#
namespace
(
"message"
)
#
sql
(
"getMessagePageData"
)
select
t
.
id
,
t
.
sender_id
,
t
.
send_to_id
,
t
.
title
,
t
.
content
,
t
.
system_id
,
t
.
path
,
t
.
params
,
t
.
operate
,
t
.
read
,
t
.
send_time
,
su
.
name
as
sender
,
ru
.
name
as
receive
,
asys
.
title
as
system
from
as_message
t
left
join
as_user
su
on
su
.
id
=
t
.
sender_id
left
join
as_user
ru
on
ru
.
id
=
t
.
send_to_id
left
join
as_system
asys
on
asys
.
id
=
t
.
system_id
where
t
.
send_to_id
=
#
para
(
send_to_id
)
#
if
(
menu
==
'unread'
)
and
read
is
null
#
else
if
(
menu
==
'readed'
)
and
read
=
'Y'
#
end
#
if
(
likeVal
)
and
(
t
.
title
like
'%#(likeVal)%'
or
su
.
name
like
'%#(likeVal)%'
or
ru
.
name
like
'%#(likeVal)%'
or
asys
.
title
like
'%#(likeVal)%'
or
t
.
operate
like
'%#(likeVal)%'
)
#
end
order
by
t
.
send_time
desc
#
end
#
sql
(
"markRead"
)
update
as_message
t
set
t
.
read
=
'Y'
where
t
.
id
=
#
para
(
id
)
#
end
#
sql
(
"deleteMessage"
)
delete
as_message
t
where
t
.
id
in
(
#
for
(
item
:
ids
)
#
(
for
.
index
==
0
?
""
:
","
)
#
(
item
)
#
end
)
#
end
#
sql
(
"getCountByRead"
)
select
count
(
t
.
id
)
as
count
from
as_message
t
where
t
.
send_to_id
is
not
null
and
t
.
send_to_id
=
(
select
id
from
as_user
u
where
u
.
username
=
#
para
(
username
)
)
#
if
(
read
)
and
t
.
read
=
#
para
(
read
)
#
else
and
t
.
read
is
null
#
end
#
end
#
end
#
namespace
(
"message"
)
#
sql
(
"getMessageInUnread"
)
select
t
.
id
,
t
.
sender_id
,
t
.
send_to_id
,
t
.
title
,
t
.
content
,
t
.
system_id
,
t
.
path
,
t
.
params
,
t
.
operate
,
t
.
read
,
t
.
send_time
,
su
.
name
as
sender
,
ru
.
name
as
receive
,
asys
.
title
as
system
from
as_message
t
left
join
as_user
su
on
su
.
id
=
t
.
sender_id
left
join
as_user
ru
on
ru
.
id
=
t
.
send_to_id
left
join
as_system
asys
on
asys
.
id
=
t
.
system_id
where
t
.
send_to_id
=
#
para
(
send_to_id
)
and
read
is
null
order
by
id
desc
#
end
#
sql
(
"getMessagePageData"
)
select
t
.
id
,
t
.
sender_id
,
t
.
send_to_id
,
t
.
title
,
t
.
content
,
t
.
system_id
,
t
.
path
,
t
.
params
,
t
.
operate
,
t
.
read
,
t
.
send_time
,
su
.
name
as
sender
,
ru
.
name
as
receive
,
asys
.
title
as
system
from
as_message
t
left
join
as_user
su
on
su
.
id
=
t
.
sender_id
left
join
as_user
ru
on
ru
.
id
=
t
.
send_to_id
left
join
as_system
asys
on
asys
.
id
=
t
.
system_id
where
t
.
send_to_id
=
#
para
(
send_to_id
)
#
if
(
menu
==
'unread'
)
and
read
is
null
#
else
if
(
menu
==
'readed'
)
and
read
=
'Y'
#
end
#
if
(
likeVal
)
and
(
t
.
title
like
'%#(likeVal)%'
or
su
.
name
like
'%#(likeVal)%'
or
ru
.
name
like
'%#(likeVal)%'
or
asys
.
title
like
'%#(likeVal)%'
or
t
.
operate
like
'%#(likeVal)%'
)
#
end
order
by
t
.
send_time
desc
#
end
#
sql
(
"markRead"
)
update
as_message
t
set
t
.
read
=
'Y'
where
t
.
id
=
#
para
(
id
)
#
end
#
sql
(
"deleteMessage"
)
delete
as_message
t
where
t
.
id
in
(
#
for
(
item
:
ids
)
#
(
for
.
index
==
0
?
""
:
","
)
#
(
item
)
#
end
)
#
end
#
sql
(
"getCountByRead"
)
select
count
(
t
.
id
)
as
count
from
as_message
t
where
t
.
send_to_id
is
not
null
and
t
.
send_to_id
=
(
select
id
from
as_user
u
where
u
.
username
=
#
para
(
username
)
)
#
if
(
read
)
and
t
.
read
=
#
para
(
read
)
#
else
and
t
.
read
is
null
#
end
#
end
#
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment