package cn.iocoder.yudao.module.aftersales.dal.mysql.ticket;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.query.MPJLambdaWrapperX;
|
import cn.iocoder.yudao.module.aftersales.dal.dataobject.ticket.AfterSaleTicketDO;
|
import cn.iocoder.yudao.module.aftersales.enums.AfterSaleBizTypeEnum;
|
import cn.iocoder.yudao.module.aftersales.util.AfterSalePermissionUtils;
|
import org.apache.ibatis.annotations.Mapper;
|
|
import java.util.List;
|
|
/**
|
* 售后工单 Mapper
|
*/
|
@Mapper
|
public interface AfterSaleTicketMapper extends BaseMapperX<AfterSaleTicketDO> {
|
|
default AfterSaleTicketDO selectByNo(String no) {
|
return selectOne(AfterSaleTicketDO::getNo, no);
|
}
|
|
default PageResult<AfterSaleTicketDO> selectPage(PageParam pageParam, Long userId, Integer sceneType,
|
String no, String name,
|
Long customerId, Long saleOrderId,
|
Integer status, Integer issueType) {
|
MPJLambdaWrapperX<AfterSaleTicketDO> query = new MPJLambdaWrapperX<>();
|
// 数据权限
|
AfterSalePermissionUtils.appendPermissionCondition(query, AfterSaleBizTypeEnum.AFTER_SALE_TICKET.getType(),
|
AfterSaleTicketDO::getId, userId, sceneType);
|
// 查询条件
|
query.selectAll(AfterSaleTicketDO.class)
|
.likeIfPresent(AfterSaleTicketDO::getNo, no)
|
.likeIfPresent(AfterSaleTicketDO::getName, name)
|
.eqIfPresent(AfterSaleTicketDO::getCustomerId, customerId)
|
.eqIfPresent(AfterSaleTicketDO::getSaleOrderId, saleOrderId)
|
.eqIfPresent(AfterSaleTicketDO::getStatus, status)
|
.eqIfPresent(AfterSaleTicketDO::getIssueType, issueType)
|
.orderByDesc(AfterSaleTicketDO::getId);
|
return selectJoinPage(pageParam, AfterSaleTicketDO.class, query);
|
}
|
|
default List<AfterSaleTicketDO> selectListByCustomerId(Long customerId) {
|
return selectList(new LambdaQueryWrapperX<AfterSaleTicketDO>()
|
.eq(AfterSaleTicketDO::getCustomerId, customerId));
|
}
|
|
default AfterSaleTicketDO selectBySaleOrderId(Long saleOrderId) {
|
return selectOne(AfterSaleTicketDO::getSaleOrderId, saleOrderId);
|
}
|
|
default Long selectCountByOwnerUserId(Long ownerUserId) {
|
return selectCount(AfterSaleTicketDO::getOwnerUserId, ownerUserId);
|
}
|
|
}
|