package com.izouma.awesomeadmin.web;

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

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;

import com.izouma.awesomeadmin.constant.AppConstant;
import com.izouma.awesomeadmin.dto.Page;
import com.izouma.awesomeadmin.dto.Result;
import com.izouma.awesomeadmin.model.TableField;
import com.izouma.awesomeadmin.service.TableFieldService;

/**
 * table_field controller类
 * Fri May 04 13:38:24 CST 2018  Suo Chen Cheng
 */ 
@Controller
@RequestMapping("/tableField")
public class TableFieldController {

	@Autowired
	private TableFieldService tableFieldService;

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

		List <TableField> pp = tableFieldService.getTableFieldList(record);
		return new Result(true, pp);
	}

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

		TableField data = tableFieldService.getTableFieldById(id);
		return new Result(true, data);
	}

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

		TableField data = tableFieldService.getTableField(record);
		return new Result(true, data);
	}

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

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

		List <TableField> pp = tableFieldService.getTableFieldByPage(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(TableField record) {

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

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

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

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

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

}

