package com.gree.mall.miniapp.commonmapper.workorder;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gree.mall.miniapp.bean.apply.WorkerInvolveApplyVO;
import com.gree.mall.miniapp.bean.workorder.CountOrderStatusBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface OrderBaseCMapper {

    /**
     * 工单状态统计
     * @return
     */
    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    public CountOrderStatusBean countOrderStatus(
            @Param("workerId") String workerId,
            @Param("workerNumber") String workerNumber,
            @Param("pgIncreOrderId") String pgIncreOrderId,
            @Param("isYb") Boolean isYb,
            @Param("isWb") Boolean isWb,
            @Param("companyWechatId") String companyWechatId
    );

    CountOrderStatusBean countPartsApply(@Param("userId") String userId);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<WorkerInvolveApplyVO> list(Page page, @Param("status") List<String> status, @Param("userId") String userId, @Param("value") String value);
}
