package com.unis.detectionnum.client;

import com.unis.detectionnum.common.vo.*;

import java.util.Date;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;

import com.unis.common.utils.ResponseWrapper;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

/** 
 * @ClassName: AnnouncementManageFeign 
 * @Description: 平台管理-公告管理 Feign
 * @author LiuFeng 
 * @date 2019年10月18日 下午3:53:00  
 */
@FeignClient(name = "detectionnum-server")
@Component
@Api(value = "平台管理-公告管理", tags = "平台管理-公告管理")
public interface AnnouncementManageFeign {

	/**
	 * @Description 平台管理->公告管理管理->根据条件【分页查询】
	 * @param pageNum 条数
	 * @param pageSize 页码
	 * @param startTime 开始时间
	 * @param endTime 结束时间
	 * @return 公告信息列表
	 */
	@ApiOperation(value = "平台管理->公告管理管理->根据条件【分页查询】", notes = "参数：开始时间,结束时间")
	@PostMapping(value = "/platformMange/announcement/pageList/{pageNum}/{pageSize}")
	public ResponseWrapper pageList(@PathVariable("pageNum")Integer pageNum,@PathVariable("pageSize") Integer pageSize,
			@ApiParam(name="startTime",value="开始时间",required=false)
			@RequestParam(value = "startTime", required = false)Date startTime,
			@ApiParam(name="endTime",value="结束时间",required=false)
			@RequestParam(value = "endTime", required = false)Date endTime);
	
	/**
	 * @Description 平台管理->公告管理管理->【发布公告】
	 * @param announcementVO
	 */
	@ApiOperation(value = "平台管理->公告管理管理->【发布公告】", notes = "参数：条数 ,页码,开始时间,结束时间")
	@PostMapping(value = "/platformMange/announcement")
	public ResponseWrapper saveAnnouncement(@RequestBody AnnouncementVO announcementVO);
	
	/**
	 * @Description 平台管理->公告管理管理->【发布公告】
	 * @param announcementVO
	 */
	@ApiOperation(value = "平台管理->公告管理管理->【修改公告】", notes = "参数：条数 ,页码,开始时间,结束时间")
	@PutMapping(value = "/platformMange/announcement")
	public ResponseWrapper updateAnnouncement(@RequestBody AnnouncementVO announcementVO);
	
	/**
	 * @Description 平台管理->公告管理管理->【删除公告】
	 * @param announcementVO
	 */
	@ApiOperation(value = "平台管理->公告管理管理->【删除公告】", notes = "参数：条数 ,页码,开始时间,结束时间")
	@GetMapping(value = "/platformMange/announcement/{announcementId}")
	public ResponseWrapper deleteAnnouncement(@PathVariable("announcementId")Integer announcementId);
}
