package com.cloudcross.ssp.web.operator.main;

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

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import com.cloudcross.ssp.base.web.SimpleController;
import com.cloudcross.ssp.common.utils.Pager;
import com.cloudcross.ssp.model.CodeClass;
import com.cloudcross.ssp.service.ICodeClassService;


@Controller("operator.codeClassController")
@RequestMapping("/operator/main/code-class")
public  class CodeClassController extends SimpleController {
	private static final Logger LOG = Logger.getLogger(CodeClassController.class);
	
	@Autowired
	protected ICodeClassService codeClassService;
	
	/**
	 * @return 返回到广告主管理第一页。
	 */
	@RequestMapping
	public String index() {
		return redirect(page("list"));
	}
	
	@RequestMapping("/list")
	public String list(Model model,
			@RequestParam HashMap<String, Object> paramMap,
			@RequestParam(defaultValue="1") int page) {
System.out.println(paramMap.size()+"yyyy");
		
		// 搜索条件：账户类型、账户及姓名
		// 查询总行数
	int totalRow = codeClassService.countByParamsOperator(paramMap);
	System.out.println("tttttttt"+totalRow);
	Pager pager = new Pager();
		pager.setPage(page);
		pager.setTotalRow(totalRow);
		
		List<CodeClass> codeClassList = codeClassService.findByParamsOperator(paramMap, pager);
		
		model.addAllAttributes(paramMap);
		model.addAttribute("pager", pager);
		model.addAttribute("codeClassList", codeClassList);
		return page("list");
	}
	
	
	
	
	/**
	 * @return 创建广告主账号。
	 */
	@RequestMapping("/create")
	public String create() {
		return page("create");
	}
	
	/**
	 * @param id
	 *            广告主ID
	 * @return 广告主编辑页面。
	 */
	@RequestMapping("/edit/{id}")
	public String edit(Model model, @PathVariable long id) {
		// 根据id从数据库中查询广告主对象。
		CodeClass codeClass = codeClassService.findById(id);
		System.out.println("aaa:" + codeClass);
		model.addAttribute("codeClass", codeClass);
		return page("edit");
	}
//	@RequestMapping("/delete/{id}")
//	public String detele(Model model, @PathVariable long id) {
//		// 根据id从数据库中查询广告主对象。
//		gradeService.deleteById(id);
//		return redirect(page("list"));
//	}
	/**
	 * 单个或者批量启用功能。
	 * 
	 * @return 成功则返回"ok"
	 */
//	@RequestMapping("enable")
//	public @ResponseBody String enable(Long[] id) {
//		LOG.debug("Args's value: id=" + Arrays.toString(id));
//		if (ArrayUtils.isNotEmpty(id)) {
//			userService.updateStatus(LangUtil.array2List(id),
//					Status.enable.value);
//		}
//		return OK;
//	}

	/**
	 * 单个或者批量禁用功能。 
	 * 
	 * @return 成功则返回"ok"
	 */
//	@RequestMapping("disable")
//	public @ResponseBody String disable(Long[] id) {
//		LOG.debug("Args's value: id=" + Arrays.toString(id));
//		if (ArrayUtils.isNotEmpty(id)) {
//			userService.updateStatus(LangUtil.array2List(id),
//					Status.disable.value);
//		}
//		// 将来会被改
//		return OK;
//	}
//	
	/**
	 * 在保存对象前要验证数据是否合法。
	 * 
	 * @return 保存成功返回到广告主管理页面。
	 */
@RequestMapping("/save")
public String save(
			@ModelAttribute("form") CodeClass codeClass) {
		// 校验参数

   	
   	if (codeClass.getId() == null){
   		codeClassService.add(codeClass);
   	}else{
   		codeClassService.edit(codeClass);
   	}
		return redirect(page("list"));
	}
		
	
	/**
	 * @return 
	 */
//	protected abstract String getStudentGroupType(); 
}

