package cn.com.countrygarden.bi.main.controller.review;
import cn.com.countrygarden.bi.main.controller.BaseController;
import cn.com.countrygarden.bi.main.core.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import cn.com.countrygarden.bi.main.model.review.ReviewGrade;
import cn.com.countrygarden.bi.main.dao.review.ReviewGradeMapper;
import cn.com.countrygarden.bi.main.service.review.ReviewGradeService;

/**
 * 评选人级别-业务逻辑层实现
 *
 * @author 汤婷
 * @email www.justintoforest@gamail.com
 * @url 
 * @date 2018-06-25
 */
@RestController("ReviewGradeController")
@RequestMapping("/api/reviewGrade")
public class ReviewGradeController extends BaseController{
    @Autowired
    private ReviewGradeService reviewGradeService;


    @GetMapping(value = "/list", produces = "application/json;charset=utf-8")
    public Result list(ReviewGrade reviewGrade,
                       @RequestParam(value = "size", required = false, defaultValue = "10") int size,
                       @RequestParam(value = "page", required = false, defaultValue = "1") int page,
                       HttpServletRequest request){
        return  reviewGradeService.queryPageList(reviewGrade,page,size);
    }

    @GetMapping(value = "/one", produces = "application/json;charset=utf-8")
    public Result queryById(@RequestParam(value = "id", required = true)Integer id,
                            HttpServletRequest request){
        return  reviewGradeService.queryById(id);
    }

    @PostMapping(value = "/add")
    public Result add(ReviewGrade reviewGrade,
                      HttpServletRequest request){
        return  reviewGradeService.add(reviewGrade,getAccessToken(request));
    }

    @PutMapping(value = "/edit")
    public Result edit(ReviewGrade reviewGrade, HttpServletRequest request){
        return  reviewGradeService.edit(reviewGrade,getAccessToken(request));
    }

    @DeleteMapping(value="/del")
    public Result del(@RequestParam(value = "id", required = true)Integer id){
        return  reviewGradeService.del(id);
    }

}