liyong
5 天以前 f90d9f53beb844265c4153159aadb0baf81bafdb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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<AfterSaleReturnDO> {
 
    default AfterSaleReturnDO selectByNo(String no) {
        return selectOne(AfterSaleReturnDO::getNo, no);
    }
 
    default AfterSaleReturnDO selectByTicketId(Long ticketId) {
        return selectOne(AfterSaleReturnDO::getTicketId, ticketId);
    }
 
    default PageResult<AfterSaleReturnDO> selectPage(PageParam pageParam, Long userId, Integer sceneType,
                                                     String no, Long ticketId,
                                                     Long customerId, Integer status) {
        MPJLambdaWrapperX<AfterSaleReturnDO> 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);
    }
 
}