/*
*  Copyright 2019-2020 Zheng Jie
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*  http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*/
package me.zhengjie.modules.dm.dmCard.service.dto;

import lombok.Data;
import me.zhengjie.annotation.Query;
import me.zhengjie.modules.dmuser.domain.DmUser;
import me.zhengjie.modules.dmuser.service.dto.DmUserDto;

import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.List;

/**
* @website https://el-admin.vip
* @author zhirong
* @date 2021-11-10
**/
@Data
public class DmCardQueryCriteria{

    /** 精确 */
    @Query
    private Long id;

    /** 精确 */
    @Query
    private String cardNumber;

    /** 精确 */
    @Query
    private String userNumber;

    /** 模糊 */
    @Query(type = Query.Type.INNER_LIKE)
    private String userName;

    /** 精确 */
    @Query
    private Long userType;

    /** 精确 */
    @Query
    private String deptId;

    /** 精确 */
    @Query
    private String status;

    /** 精确 */
    @Query
    private BigDecimal balance;

    /** 精确 */
    @Query
    private String createBy;

    /** 精确 */
    @Query
    private String updateBy;

    /** 精确 */
    @Query(type = Query.Type.BETWEEN)
    private List<Timestamp> createTime;

    /** 精确 */
    @Query
    private Timestamp updateTime;

    /*扩展字段*/
    @Query
    public DmUserDto dmUserDto;

    private DmUser dmUser;

    /** 精确 */
    @Query(joinName = "dmUser", propName="userNumber", join = Query.Join.LEFT)
    private String dmUserNumber;

}