package com.izouma.awesomeadmin.web;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.izouma.awesomeadmin.constant.AppConstant;
import com.izouma.awesomeadmin.dto.Page;
import com.izouma.awesomeadmin.dto.Result;
import com.izouma.awesomeadmin.model.SysDatarule;
import com.izouma.awesomeadmin.service.SysDataruleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;


/**
 * sys_datarule controller类
 * Tue Apr 17 10:44:06 CST 2018  Suo Chen Cheng
 */ 
@Controller
@RequestMapping("/sysDatarule")
public class SysDataruleController  {

	@Autowired
	private SysDataruleService sysDataruleService;

	/**
	 * <p>获取全部记录。</p>
	 */ 
	@RequestMapping(value = "/all", method = RequestMethod.GET)
	@ResponseBody
	public Result all(SysDatarule record) {

		List <SysDatarule> pp = sysDataruleService.getSysDataruleList(record);
		return new Result(true, pp);
	}

	/**
	 * <p>根据Id。</p>
	 */ 
	@RequestMapping(value = "/getSysDatarule", method = RequestMethod.GET)
	@ResponseBody
	public Result getSysDatarule(@RequestParam(required = false, value = "id") String id) {

		SysDatarule data = sysDataruleService.getSysDataruleById(id);
		return new Result(true, data);
	}

	/**
	 * <p>根据条件获取。</p>
	 */ 
	@RequestMapping(value = "/getOne", method = RequestMethod.GET)
	@ResponseBody
	public Result getOne(SysDatarule record) {

		SysDatarule data = sysDataruleService.getSysDatarule(record);
		return new Result(true, data);
	}

	/**
	 * <p>分页查询。</p>
	 */ 
	@RequestMapping(value = "/page", method = RequestMethod.GET)
	@ResponseBody
	public Result page(Page page, SysDatarule record) {

		Map <String, Object> result = new HashMap <>();

		List <SysDatarule> pp = sysDataruleService.getSysDataruleByPage(page, record);

		result.put(AppConstant.PAGE, page);
		result.put("pp", pp);
		return new Result(true, result);
	}

	/**
	 * <p>保存。</p>
	 */ 
	@RequestMapping(value = "/save", method = RequestMethod.POST)
	@ResponseBody
	public Result save(SysDatarule record) {

		boolean num = sysDataruleService.createSysDatarule(record);
		if (num) {
			return new Result(true, record.getId());
		}
		return new Result(false, "保存异常");
	}

	/**
	 * <p>更新信息。</p>
	 */ 
	@RequestMapping(value = "/update", method = RequestMethod.POST)
	@ResponseBody
	public Result updateSysDatarule(SysDatarule record) {

		boolean num = sysDataruleService.updateSysDatarule(record);
		if (num) {
			return new Result(true, "保存成功");
		}
		return new Result(false, "保存异常");
	}

	/**
	 * <p>删除。</p>
	 */ 
	@RequestMapping(value = "/del", method = RequestMethod.POST)
	@ResponseBody
	public Result deleteSysDatarule(@RequestParam(required = true, value = "id") String id) {

		boolean num = sysDataruleService.deleteSysDatarule(id);
		if (num) {
			return new Result(true, "删除成功");
		}
		return new Result(false, "删除异常");
	}

}

