feat(repository): 优化用户查询和工单搜索功能
- 在 AdminUserMapper 中添加用户查询排序功能,提高查询效率 - 修复 TicketChatService 中的消息撤回逻辑,使用更准确的字符串比较方法 - 在 TicketMapper 中的工单搜索查询中添加工单描述字段 - 更新 TicketVO 中添加工单描述属性,以支持新的搜索结果
This commit is contained in:
parent
e6b76fd135
commit
afe5d8e108
|
|
@ -21,6 +21,9 @@ public class TicketVO {
|
||||||
//工单标题
|
//工单标题
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
|
//工单描述
|
||||||
|
private String description;
|
||||||
|
|
||||||
//设备编号
|
//设备编号
|
||||||
private String deviceNo;
|
private String deviceNo;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@ public class TicketChatService {
|
||||||
boolean flag = false;
|
boolean flag = false;
|
||||||
Instant now = Instant.now();
|
Instant now = Instant.now();
|
||||||
for (ChatMessageDTO message : messages) {
|
for (ChatMessageDTO message : messages) {
|
||||||
if (message.getId().equals(messageId)) {
|
if (StrUtil.equals(messageId,message.getId())) {
|
||||||
Duration duration = Duration.between(message.getCreateTime(), now);
|
Duration duration = Duration.between(message.getCreateTime(), now);
|
||||||
if (duration.toMinutes() <= ticketSet.getWithdrawTimeout()) {
|
if (duration.toMinutes() <= ticketSet.getWithdrawTimeout()) {
|
||||||
log.info("消息撤回 找到消息");
|
log.info("消息撤回 找到消息");
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,10 @@
|
||||||
<foreach collection="userIds" item="userId" separator="," open="(" close=")">
|
<foreach collection="userIds" item="userId" separator="," open="(" close=")">
|
||||||
#{userId}
|
#{userId}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
ORDER BY FIELD
|
||||||
|
<foreach collection="userIds" item="userId" separator="," open="(au.id," close=")">
|
||||||
|
#{userId}
|
||||||
|
</foreach>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getTickerMangagers" resultType="java.lang.Integer">
|
<select id="getTickerMangagers" resultType="java.lang.Integer">
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@
|
||||||
|
|
||||||
<select id="searchMy" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO">
|
<select id="searchMy" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO">
|
||||||
SELECT t.*,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),a2.`name`) AS 'areaName',IF(tf.id IS NULL, false, true) AS 'followed'
|
SELECT t.*,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),a2.`name`) AS 'areaName',IF(tf.id IS NULL, false, true) AS 'followed'
|
||||||
,u.`name` AS 'createBy',t.handle,IF(LENGTH(l.language_value)>0,l.language_value,p.part_name) AS 'component'
|
,u.`name` AS 'createBy',t.handle,IF(LENGTH(l.language_value)>0,l.language_value,p.part_name) AS 'component',t.description
|
||||||
FROM ticket t
|
FROM ticket t
|
||||||
LEFT JOIN app_user u ON t.user_id=u.id
|
LEFT JOIN app_user u ON t.user_id=u.id
|
||||||
LEFT JOIN app_area a2 ON u.area_id=a2.id
|
LEFT JOIN app_area a2 ON u.area_id=a2.id
|
||||||
|
|
@ -100,7 +100,8 @@
|
||||||
|
|
||||||
<select id="searchFollow" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO">
|
<select id="searchFollow" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO">
|
||||||
SELECT t.*,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),a2.`name`) AS 'areaName',true AS 'followed'
|
SELECT t.*,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),a2.`name`) AS 'areaName',true AS 'followed'
|
||||||
,u.`name` AS 'createBy',true AS 'followed',t.handle,IF(LENGTH(l.language_value)>0,l.language_value,p.part_name) AS 'component'
|
,u.`name` AS 'createBy',true AS 'followed',t.handle,IF(LENGTH(l.language_value)>0
|
||||||
|
,l.language_value,p.part_name) AS 'component',t.description
|
||||||
FROM ticket t
|
FROM ticket t
|
||||||
LEFT JOIN app_user u ON t.user_id=u.id
|
LEFT JOIN app_user u ON t.user_id=u.id
|
||||||
LEFT JOIN app_area a2 ON u.area_id=a2.id
|
LEFT JOIN app_area a2 ON u.area_id=a2.id
|
||||||
|
|
@ -114,8 +115,9 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="searchArea" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO">
|
<select id="searchArea" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO">
|
||||||
SELECT t.*,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),a2.`name`) AS 'areaName',IF(tf.id IS NULL, false, true) AS 'followed'
|
SELECT t.*,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),a2.`name`) AS 'areaName'
|
||||||
,u.`name` AS 'createBy',t.handle,IF(LENGTH(l.language_value)>0,l.language_value,p.part_name) AS 'component'
|
,IF(tf.id IS NULL, false, true) AS 'followed',u.`name` AS 'createBy',t.handle,IF(LENGTH(l.language_value)>0
|
||||||
|
,l.language_value,p.part_name) AS 'component',t.description
|
||||||
FROM ticket t
|
FROM ticket t
|
||||||
LEFT JOIN app_user u ON t.user_id=u.id
|
LEFT JOIN app_user u ON t.user_id=u.id
|
||||||
LEFT JOIN app_area a2 ON u.area_id=a2.id
|
LEFT JOIN app_area a2 ON u.area_id=a2.id
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue