/*
 * ShouGouZiGeFeign.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.ShouGouZiGeListVO;
import com.unis.base.common.vo.ShouGouZiGeShowVO;
import com.unis.base.common.vo.ShouGouZiGeVO;
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_SHOUGOUZIGE-真收购资格表
 * @author lipenghe at 
 */
//@RequestMapping("")
//真收购资格表---真收购资格表
@FeignClient("base-server")
public interface ShouGouZiGeFeign {

    /*@ApiOperation(value = "真收购资格表---真收购资格表---选择性保存,包含新增和修改", notes = "真收购资格表")
    @PostMapping("/shouGouZiGe/saveEntitySelective")
    public ResponseWrapper saveEntitySelective(
        @RequestBody ShouGouZiGeVO ziGeVO);*/


    @ApiOperation(value = "真收购资格表---真收购资格表---选择性保存,包含新增和修改", notes = "真收购资格表")
    @PostMapping("/shouGouZiGe/saveEntitySelective")
    public ResponseWrapper saveEntitySelective(ShouGouZiGeVO ziGeVO);

    @ApiOperation(value = "真收购资格表---真收购资格表---选择性插入字段", notes = "真收购资格表")
    @PostMapping("/shouGouZiGe/insertEntitySelective")
    public ResponseWrapper insertEntitySelective(
            @RequestBody ShouGouZiGeVO ziGeVO);

    @ApiOperation(value = "真收购资格表---真收购资格表---批量插入全部字段", notes = "真收购资格表")
    @PostMapping("/shouGouZiGe/insertBatchEntityList")
    public ResponseWrapper insertBatchEntityList(
            @RequestBody List<ShouGouZiGeVO> ziGeVOList);

    @ApiOperation(value = "真收购资格表---真收购资格表---根据实体不为空的属性,选择性更新字段", notes = "真收购资格表")
    @PostMapping("/shouGouZiGe/updateByEntitySelective")
    public ResponseWrapper updateByEntitySelective(
            @RequestBody ShouGouZiGeVO ziGeVO);

    @ApiOperation(value = "真收购资格表---真收购资格表---更改状态", notes = "真收购资格表")
    @PostMapping("/shouGouZiGe/updateStatusByEntity")
    public ResponseWrapper updateStatusByEntity(
            @RequestBody ShouGouZiGeVO ziGeVO);

    @ApiOperation(value = "真收购资格表---真收购资格表---[真删除]根据实体的某些属性进行单条或者批量删除", notes = "真收购资格表")
    @PostMapping("/shouGouZiGe/deleteByEntity")
    public ResponseWrapper deleteByEntity(
            @RequestBody ShouGouZiGeShowVO ziGeShowVO);

    @ApiOperation(value = "真收购资格表---真收购资格表---根据实体(唯一标示)查询一条数据", notes = "真收购资格表")
    @PostMapping("/shouGouZiGe/selectById")
    public ResponseWrapper selectById(
            @RequestBody ShouGouZiGeShowVO ziGeShowVO);

    @ApiOperation(value = "真收购资格表---真收购资格表---根据实体的某些属性查询分页数据, pageSize, pageNum从url传", notes = "真收购资格表")
    @PostMapping("/shouGouZiGe/selectPageByEntity")
    public ResponseWrapper selectPageByEntity(
            @RequestParam(value = "pageNum", defaultValue = "1") int pageNum
            , @RequestParam(value = "pageSize", defaultValue = "10") int pageSize
            , @RequestBody ShouGouZiGeListVO ziGeListVO);

    @ApiOperation(value = "真收购资格表---真收购资格表---根据实体的某些属性查询列表", notes = "真收购资格表")
    @PostMapping("/shouGouZiGe/selectByEntity")
    public ResponseWrapper selectByEntity(
            @RequestBody ShouGouZiGeListVO ziGeListVO);

    @ApiOperation(value = "真收购资格表---真收购资格表---初始化数据", notes = "真收购资格表")
    @PostMapping("/shouGouZiGe/selectInitData")
    public ResponseWrapper selectInitData(
            @RequestBody ShouGouZiGeVO ziGeVO);
}
