package cn.iocoder.yudao.module.aftersales.dal.mysql.returnobj; 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.returnobj.AfterSaleReturnDO; import cn.iocoder.yudao.module.aftersales.enums.AfterSaleBizTypeEnum; import cn.iocoder.yudao.module.aftersales.util.AfterSalePermissionUtils; import org.apache.ibatis.annotations.Mapper; /** * 售后退货申请 Mapper */ @Mapper public interface AfterSaleReturnMapper extends BaseMapperX { default AfterSaleReturnDO selectByNo(String no) { return selectOne(AfterSaleReturnDO::getNo, no); } default AfterSaleReturnDO selectByTicketId(Long ticketId) { return selectOne(AfterSaleReturnDO::getTicketId, ticketId); } default PageResult selectPage(PageParam pageParam, Long userId, Integer sceneType, String no, Long ticketId, Long customerId, Integer status) { MPJLambdaWrapperX query = new MPJLambdaWrapperX<>(); // 数据权限 AfterSalePermissionUtils.appendPermissionCondition(query, AfterSaleBizTypeEnum.AFTER_SALE_RETURN.getType(), AfterSaleReturnDO::getId, userId, sceneType); // 查询条件 query.selectAll(AfterSaleReturnDO.class) .likeIfPresent(AfterSaleReturnDO::getNo, no) .eqIfPresent(AfterSaleReturnDO::getTicketId, ticketId) .eqIfPresent(AfterSaleReturnDO::getCustomerId, customerId) .eqIfPresent(AfterSaleReturnDO::getStatus, status) .orderByDesc(AfterSaleReturnDO::getId); return selectJoinPage(pageParam, AfterSaleReturnDO.class, query); } default AfterSaleReturnDO selectByMesReturnId(Long mesReturnId) { return selectOne(AfterSaleReturnDO::getMesReturnId, mesReturnId); } }