‘liusuyi’
2023-07-29 2d68f48eeb8f874240f7b02ff20dbf1e784271b4
单兵端-新任务轮询接口-更新弹窗标记/统计弹窗未查看数量
已修改5个文件
69 ■■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/app/task/service/IArdAppTaskService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>