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

import com.unis.base.common.vo.XzqhListVO;
import com.unis.base.common.vo.XzqhShowVO;
import com.unis.base.common.vo.XzqhVO;
import com.unis.common.utils.ResponseWrapper;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;


/**
 * TY_XZQHB-无表注释
 * @author lipenghe at 
 */
//@RequestMapping("")
//行政区划表---无表注释
@FeignClient("base-server")
public interface XzqhFeign {

    /*@ApiOperation(value = "行政区划表---无表注释---选择性保存,包含新增和修改", notes = "行政区划表")
    @PostMapping("/xzqh/saveEntitySelective")
    public ResponseWrapper saveEntitySelective(
        @RequestBody XzqhVO xzqhVO);*/


    @ApiOperation(value = "行政区划表---无表注释---选择性保存,包含新增和修改", notes = "行政区划表")
    @PostMapping("/xzqh/saveEntitySelective")
    public ResponseWrapper saveEntitySelective(XzqhVO xzqhVO);

    @ApiOperation(value = "行政区划表---无表注释---选择性插入字段", notes = "行政区划表")
    @PostMapping("/xzqh/insertEntitySelective")
    public ResponseWrapper insertEntitySelective(
            @RequestBody XzqhVO xzqhVO);

    @ApiOperation(value = "行政区划表---无表注释---批量插入全部字段", notes = "行政区划表")
    @PostMapping("/xzqh/insertBatchEntityList")
    public ResponseWrapper insertBatchEntityList(
            @RequestBody List<XzqhVO> xzqhVOList);

    @ApiOperation(value = "行政区划表---无表注释---根据实体不为空的属性,选择性更新字段", notes = "行政区划表")
    @PostMapping("/xzqh/updateByEntitySelective")
    public ResponseWrapper updateByEntitySelective(
            @RequestBody XzqhVO xzqhVO);

    @ApiOperation(value = "行政区划表---无表注释---更改状态", notes = "行政区划表")
    @PostMapping("/xzqh/updateStatusByEntity")
    public ResponseWrapper updateStatusByEntity(
            @RequestBody XzqhVO xzqhVO);

    @ApiOperation(value = "行政区划表---无表注释---[真删除]根据实体的某些属性进行单条或者批量删除", notes = "行政区划表")
    @PostMapping("/xzqh/deleteByEntity")
    public ResponseWrapper deleteByEntity(
            @RequestBody XzqhShowVO xzqhShowVO);

    @ApiOperation(value = "行政区划表---无表注释---根据实体(唯一标示)查询一条数据", notes = "行政区划表")
    @PostMapping("/xzqh/selectById")
    public ResponseWrapper selectById(
            @RequestBody XzqhShowVO xzqhShowVO);

    @ApiOperation(value = "行政区划表---无表注释---根据实体的某些属性查询分页数据, pageSize, pageNum从url传", notes = "行政区划表")
    @PostMapping("/xzqh/selectPageByEntity")
    public ResponseWrapper selectPageByEntity(
            @RequestParam(value = "pageNum", defaultValue = "1") int pageNum
            , @RequestParam(value = "pageSize", defaultValue = "10") int pageSize
            , @RequestBody XzqhListVO xzqhListVO);

    @ApiOperation(value = "行政区划表---无表注释---根据实体的某些属性查询列表", notes = "行政区划表")
    @PostMapping("/xzqh/selectByEntity")
    public ResponseWrapper selectByEntity(
            @RequestBody XzqhListVO xzqhListVO);

    @ApiOperation(value = "行政区划表---无表注释---初始化数据", notes = "行政区划表")
    @PostMapping("/xzqh/selectInitData")
    public ResponseWrapper selectInitData(
            @RequestBody XzqhVO xzqhVO);
}
