package com.mosty.rwzx.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mosty.base.model.dto.rwzx.TbRwTaskChangeStateByYwidDto;
import com.mosty.base.model.dto.rwzx.TbRwTaskChangeStateInnerDto;
import com.mosty.base.model.dto.rwzx.TbRwTaskGrChangeStateInnerDto;
import com.mosty.base.model.dto.rwzx.TbRwTaskInnerDto;
import com.mosty.base.model.entity.rwzx.TbRwTaskUser;
import com.mosty.base.model.query.rwzx.TbRwTaskInnerQuery;
import com.mosty.base.model.query.rwzx.TbRwTaskMyInnerQuery;
import com.mosty.base.model.vo.rwzx.TbRwTaskMyVo;
import com.mosty.base.model.vo.rwzx.TbRwTaskVo;
import io.swagger.annotations.ApiOperation;

import java.util.List;
import java.util.Map;

public interface TbRwTaskInnerService {

    @ApiOperation("添加任务")
    int addRw(TbRwTaskInnerDto dto);

    @ApiOperation("查询任务列表")
    IPage<TbRwTaskVo> selectPage(TbRwTaskInnerQuery dto);

    @ApiOperation("查询我的任务列表")
    IPage<TbRwTaskUser> selectMyPage(TbRwTaskMyInnerQuery dto);

    @ApiOperation("修改个人任务状态")
    void changeGrrwState(TbRwTaskGrChangeStateInnerDto dto);

    @ApiOperation("修改任务状态")
    void changeRwState(TbRwTaskChangeStateInnerDto dto);

    @ApiOperation("根据业务ID和业务类型修改任务状态")
    void changeStateByYwid(TbRwTaskChangeStateByYwidDto dto);

    @ApiOperation("APP统计我的任务数量")
    List<Map<String, Object>> myRwCount();

    @ApiOperation("APP统计任务列表的数量")
    List<Map<String, Object>> rwCountByState(TbRwTaskInnerQuery dto);
}
