/*
 * XzqhService.java
 * 版权所有 © 2011-2017 北京神舟良实信息技术有限公司
 * Copyright © 2011-2017 All Rights Reserved    京ICP备13013562号
 *  created by lipenghe with LAPTOP-DPSC399A
 */
package com.unis.base.server.service;

import com.unis.base.common.vo.XzqhVO;
import com.unis.base.server.entity.XzqhDO;
import com.unis.common.utils.ResponseWrapper;

import java.util.List;


/**
 * TY_XZQHB-无表注释
 * @author lipenghe at 
 */
public interface XzqhService {
    /**
     * <TY_XZQHB-无表注释>
     * 选择性保存,包含新增和修改
     * @param xzqhVO    <无表注释>对象
     * @author lipenghe with LAPTOP-DPSC399A
     */
    public ResponseWrapper saveEntitySelectiveResult(XzqhVO xzqhVO);

    /**
     * <TY_XZQHB-无表注释>
     * 插入全部字段
     * @param xzqhVO    <无表注释>对象
     * @author lipenghe with LAPTOP-DPSC399A
     */
    ResponseWrapper insertEntityResult(XzqhVO xzqhVO);

    /**
     * <TY_XZQHB-无表注释>
     * 选择性插入字段
     * @param xzqhVO    <无表注释>对象
     * @author lipenghe with LAPTOP-DPSC399A
     */
    ResponseWrapper insertEntitySelectiveResult(XzqhVO xzqhVO);

   /**
    * <TY_XZQHB-无表注释>批量插入全部字段
    * @param xzqhVOList    <无表注释>对象列表
    * @author lipenghe with LAPTOP-DPSC399A
    */
    public ResponseWrapper insertBatchEntityListResult(List<XzqhVO> xzqhVOList);

    /**
     * <TY_XZQHB-无表注释>
     * 更改状态
     * @param xzqhVO    <无表注释>对象
     * @author lipenghe with LAPTOP-DPSC399A
     */
    ResponseWrapper updateStatusByEntityResult(XzqhVO xzqhVO, String limit);

    /**
     * <TY_XZQHB-无表注释>
     * 根据实体某些属性更新全部字段
     * @param xzqhVO    <无表注释>对象
     * @author lipenghe with LAPTOP-DPSC399A
     */
    ResponseWrapper updateByEntityResult(XzqhVO xzqhVO, String limit);

    /**
     * <TY_XZQHB-无表注释>
     * 根据实体不为空的属性,选择性更新字段
     * @param xzqhVO    <无表注释>对象
     * @author lipenghe with LAPTOP-DPSC399A
     */
    ResponseWrapper updateByEntitySelectiveResult(XzqhVO xzqhVO, String limit);

    /**
     * <TY_XZQHB-无表注释>
     * 根据实体不为空的属性,选择性更新字段
     * @param entity    <无表注释>对象
     * @author lipenghe with LAPTOP-DPSC399A
     */
    ResponseWrapper updateByEntitySelectiveResult(XzqhDO entity, String limit);

    /**
     * <TY_XZQHB-无表注释>
     * [真删除]根据实体的某些属性进行单条或者批量删除
     * @param xzqhVO    <无表注释>对象
     * @author lipenghe with LAPTOP-DPSC399A
     */
    ResponseWrapper deleteByEntityResult(XzqhVO xzqhVO, String limit);

    /**
     * <TY_XZQHB-无表注释>
     * 根据实体(唯一标示)查询一条数据
     * @param xzqhVO    <无表注释>对象
     * @author lipenghe with LAPTOP-DPSC399A
     */
    ResponseWrapper selectByIdResult(XzqhVO xzqhVO);

    /**
     * <TY_XZQHB-无表注释>
     * 根据实体(唯一标示)查询一条数据
     * @param entity    <无表注释>对象
     * @author lipenghe with LAPTOP-DPSC399A
     */
    ResponseWrapper selectByIdResult(XzqhDO entity);

    /**
     * <TY_XZQHB-无表注释>
     * 根据实体的某些属性查询分页数据,带限制条件
     * @param xzqhVO    <无表注释>对象
     * @author lipenghe with LAPTOP-DPSC399A
     */
    ResponseWrapper selectPageByEntityResult(int pageNo, int pageSize
            , XzqhVO xzqhVO, String order);

    /**
     * <TY_XZQHB-无表注释>
     * 根据实体的某些属性查询列表
     * @param xzqhVO    <无表注释>对象
     * @author lipenghe with LAPTOP-DPSC399A
     */
    ResponseWrapper selectByEntityResult(XzqhVO xzqhVO);

    /**
     * <TY_XZQHB-无表注释>
     * 根据实体的某些属性查询列表
     * @param entity    <无表注释>对象
     * @author lipenghe with LAPTOP-DPSC399A
     */
    ResponseWrapper selectByEntityResult(XzqhDO entity);

    /**
     * <TY_XZQHB-无表注释>
     * 查询初始化数据
     * @param xzqhVO    <无表注释>对象
     * @author lipenghe with LAPTOP-DPSC399A
     */
    ResponseWrapper selectInitDataResult(XzqhVO xzqhVO);

    /**
     * <TY_XZQHB-无表注释>
     * 返回新的只有唯一标示的对象
     * @param xzqhVO    <无表注释>对象
     * @author lipenghe with LAPTOP-DPSC399A
     */
    XzqhVO getIdInstance(XzqhVO xzqhVO);

}