From 2d68f48eeb8f874240f7b02ff20dbf1e784271b4 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期六, 29 七月 2023 08:28:38 +0800
Subject: [PATCH] 单兵端-新任务轮询接口-更新弹窗标记/统计弹窗未查看数量
---
ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java | 18 ++++++++
ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java | 8 ++++
ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml | 18 +++++++++
ard-work/src/main/java/com/ruoyi/app/task/service/IArdAppTaskService.java | 7 +++
ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java | 18 ++++++--
5 files changed, 63 insertions(+), 6 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java b/ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java
index 087e993..ceb9c26 100644
--- a/ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java
+++ b/ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java
@@ -10,6 +10,7 @@
import com.ruoyi.app.task.domain.AppParam;
import com.ruoyi.app.task.domain.ArdAppTaskDetail;
import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.system.service.ISysUserService;
import io.swagger.annotations.Api;
@@ -133,6 +134,7 @@
public AjaxResult editDetail(@RequestBody ArdAppTaskDetail ardAppTaskDetail) {
return toAjax(ardAppTaskService.updateArdAppTaskDetail(ardAppTaskDetail));
}
+
@ApiOperation("鍗曞叺绔�-浠诲姟鏌ョ湅")
@PreAuthorize("@ss.hasPermi('app:taskdetail:edit')")
@Log(title = "鍗曞叺绔�-浠诲姟鏌ョ湅", businessType = BusinessType.UPDATE)
@@ -140,6 +142,7 @@
public AjaxResult editDetailView(@RequestBody ArdAppTaskDetail ardAppTaskDetail) {
return toAjax(ardAppTaskService.updateArdAppTaskDetailView(ardAppTaskDetail));
}
+
/**
* 鑾峰彇app浠诲姟璇︽儏鐨勮缁嗕俊鎭�
*/
@@ -152,12 +155,17 @@
@ApiOperation("鍗曞叺绔�-鏂颁换鍔¤疆璇�")
@PostMapping(value = "/newTaskPolling")
- public AjaxResult newTaskPolling(@RequestBody AppParam param)
- {
- Map<String,Object> map=new HashMap<>();
+ public AjaxResult newTaskPolling(@RequestBody AppParam param) {
+ Map<String, Object> map = new HashMap<>();
String userId = param.getUserId();
- ArdAppTask ardAppTask= ardAppTaskService.selectNewArdAppTaskByUserId(userId);
- map.put("task",ardAppTask);
+ if (StringUtils.isNotNull(param.getUserId())) {
+ ArdAppTask ardAppTask = ardAppTaskService.selectNewArdAppTaskByUserId(userId);
+ map.put("task", ardAppTask);
+ int count = ardAppTaskService.selectUnreadArdAppTaskCount(userId);
+ map.put("count", count);
+ }
+
return success(map);
}
+
}
diff --git a/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java b/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java
index 455b57a..4e8ae7f 100644
--- a/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java
@@ -132,6 +132,7 @@
* @return 缁撴灉
*/
public int updateArdAppTaskDetail(ArdAppTaskDetail ardAppTaskDetail);
+ public int updateArdAppTaskDetailByTaskId(ArdAppTaskDetail ardAppTaskDetail);
/**
* 淇敼app浠诲姟璇︽儏鏌ョ湅
*
@@ -162,4 +163,11 @@
* @return 缁撴灉
*/
public ArdAppTask selectNewArdAppTaskByUserId(String userId);
+ /**
+ * 鏌ヨ宸插脊绐椾絾鏈鐨勪换鍔℃暟閲�
+ *
+ * @param userId app鐢ㄦ埛Id
+ * @return 缁撴灉
+ */
+ public int selectUnreadArdAppTaskCount(String userId);
}
diff --git a/ard-work/src/main/java/com/ruoyi/app/task/service/IArdAppTaskService.java b/ard-work/src/main/java/com/ruoyi/app/task/service/IArdAppTaskService.java
index 748cfe8..4893b03 100644
--- a/ard-work/src/main/java/com/ruoyi/app/task/service/IArdAppTaskService.java
+++ b/ard-work/src/main/java/com/ruoyi/app/task/service/IArdAppTaskService.java
@@ -97,4 +97,11 @@
* @return 缁撴灉
*/
public ArdAppTask selectNewArdAppTaskByUserId(String userId);
+ /**
+ * 鏌ヨ宸插脊绐椾絾鏈鐨勪换鍔℃暟閲�
+ *
+ * @param userId app鐢ㄦ埛Id
+ * @return 缁撴灉
+ */
+ public int selectUnreadArdAppTaskCount(String userId);
}
diff --git a/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java
index 61bc650..c19876b 100644
--- a/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java
@@ -284,6 +284,22 @@
@Override
public ArdAppTask selectNewArdAppTaskByUserId(String userId) {
- return ardAppTaskMapper.selectNewArdAppTaskByUserId(userId);
+ ArdAppTask ardAppTask = ardAppTaskMapper.selectNewArdAppTaskByUserId(userId);
+ ArdAppTaskDetail detail=new ArdAppTaskDetail();
+ detail.setViewFlag("1");
+ detail.setTaskId(ardAppTask.getId());
+ int i = ardAppTaskMapper.updateArdAppTaskDetailByTaskId(detail);
+ return ardAppTask;
+ }
+ /**
+ * 鏌ヨ宸插脊绐椾絾鏈鐨勪换鍔℃暟閲�
+ *
+ * @param userId app鐢ㄦ埛Id
+ * @return 缁撴灉
+ */
+ @Override
+ public int selectUnreadArdAppTaskCount(String userId)
+ {
+ return ardAppTaskMapper.selectUnreadArdAppTaskCount(userId);
}
}
diff --git a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
index 5d13a83..29059e4 100644
--- a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
+++ b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
@@ -263,10 +263,19 @@
<if test="text != null">text = #{text},</if>
<if test="voice != null">voice = #{voice},</if>
<if test="viewTime != null">view_time = #{viewTime},</if>
+ <if test="viewFlag != null">view_flag = #{viewFlag},</if>
<if test="viewPosition != null">view_position = #{viewPosition},</if>
<if test="clockInTime != null">clock_in_time = #{clockInTime},</if>
+ <if test="taskId != null">task_id = #{taskId},</if>
</trim>
where id = #{id}
+ </update>
+ <update id="updateArdAppTaskDetailByTaskId" parameterType="ArdAppTaskDetail">
+ update ard_app_task_detail
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="viewFlag != null">view_flag = #{viewFlag},</if>
+ </trim>
+ where task_id = #{taskId}
</update>
<update id="updateArdAppTaskDetailView" parameterType="ArdAppTaskDetail">
update ard_app_task_detail
@@ -307,4 +316,13 @@
where c.user_id = #{userId} AND c.view_flag is null
order by create_time desc limit 1
</select>
+ <select id="selectUnreadArdAppTaskCount" resultType="Integer">
+ SELECT COUNT( A.ID )
+ FROM ard_app_task
+ A LEFT JOIN ard_app_task_detail C ON C.task_id = A.ID
+ WHERE
+ C.view_time IS NULL
+ AND C.view_flag = '1'
+ AND C.user_id = #{userId}
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3