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