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); } } 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); } 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); } 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); } } 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>