package com.unis.base.client;

import com.unis.base.common.vo.PriceMonitorQueryVo;
import com.unis.base.common.vo.PriceMonitorVO;
import com.unis.common.utils.ResponseWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;

/**
 * @author zhaoyaodng
 * @version 1.0
 * @Title TyJgjcxxbController
 * @ProjectName 价格监测信息明细 Controller
 * @Description
 * @date 2019/08/24 14：14
 */
@FeignClient(name = "base-server")
@Component
@Api(value = "价格监测信息明细 ", tags = "价格监测信息明细维护")
public interface PriceMonitorController {

    /**
     * @author zhengbodang
     * @Description 获取价格监测信息明细列表
     * @param
     * @return 价格监测信息明细列表
     */
    @ApiOperation(value = "价格监测信息明细列表", notes = "参数：")
    @PostMapping(value = "/pricemonitorList")
    public ResponseWrapper getpriceMonitorList(@RequestBody PriceMonitorQueryVo priceMonitorQueryVo);

    /**
     * @author zhengbodang
     * @Description 分页获取价格监测信息明细列表
     * @param priceMonitorQueryVo,pageNum,pageSize
     * @return 分页查询信息
     */
    @ApiOperation(value = "分页获取计划信息明细列表", notes = "参数：")
    @PostMapping(value = "/pricemonitorPage/{pageNum}/{pageSize}")
    public ResponseWrapper getPriceMonitorPage(@RequestBody PriceMonitorQueryVo priceMonitorQueryVo , @PathVariable("pageNum")Integer pageNum, @PathVariable("pageSize") Integer pageSize);

    /**
     * @author zhaoyadong
     * @Description 新增价格监测信息明细信息
     * @param tyJgjcxxbVO models
     * @return 新增状态
     */
    @PostMapping(value = "/pricemonitor")
    @ApiOperation(value = "新增价格监测明细信息", notes = "参数：")
    public ResponseWrapper insert(@RequestBody PriceMonitorVO tyJgjcxxbVO);

    /**
     * @author zhaoyadong
     * @Description 修改价格监测信息明细信息
     * @param tyJgjcxxbVO models
     * @return 修改状态
     */
    @PutMapping(value = "/pricemonitor")
    @ApiOperation(value = "修改价格监测明细信息", notes = "参数：")
    public ResponseWrapper update(@RequestBody PriceMonitorVO tyJgjcxxbVO);
    /**
     * @author zhaoyadong
     * @Description 删除价格监测信息明细信息
     * @param
     * @return 状态
     */
    @DeleteMapping(value="/pricemonitor/{jgjcbm}")
    @ApiOperation(value = "根据价格监测编号删除价格监测信息明细", notes = "参数：")
    public ResponseWrapper delete(@PathVariable("jgjcbm") String PriceMonitorId);

    /**
     * @author zhaoyadong
     * @Description 根据编号价格监测获取信息
     * @param
     * @return 状态
     */
    @GetMapping(value="/pricemonitor/{jgjcbm}")
    @ApiOperation(value = "根据价格编号信息编号获取价格编号信息", notes = "参数：")
    public ResponseWrapper getTyCrkjcxxByTyjgjcid(@PathVariable("jgjcbm") String PriceMonitorId);

    /**
     * @author zhaoyadong
     * @Description 根据编号价格监测获取信息
     * @param priceMonitorQueryVo models
     * @return
     */
    @PostMapping(value = "/LevelMonthlyReport")
    @ApiOperation(value = "根据年份查询该年分的月报", notes = "参数：priceMonitorQueryVo中的shsj为年份")
    public ResponseWrapper getTyCrkjcxxByTyjgjcid(@RequestBody PriceMonitorQueryVo priceMonitorQueryVo);
}
