﻿package WebRoot.exmds.usermanage;

import java.util.ArrayList;
import java.util.List;

import org.hoyi.DB.ctrl.FILTER;
import org.hoyi.dishop.HoyiVuePage;
import org.hoyi.disptachs.model.fieldstr;
import org.hoyi.util.DateTimeUtil;
import org.hoyi.wb.comment.RequestMode;
import org.hoyi.wb.comment.RequestType;

import model.usermanage.user;

@RequestMode(MODE = { RequestType.GET, RequestType.POST })
public class usermanage extends HoyiVuePage {

	@RequestMode(MODE={RequestType.POST})
	public void AddUser()
	{
		user _user = this.getModelFromReq(user.class);
		int ret = _user.Insert();
		
		if (ret > 0) {
			REUser();
		} else {
			this.WriteUTF8JSONDATAMSG(-1, "添加失败!~", "");
		}
	}
	
	@RequestMode(MODE = { RequestType.POST })
	public void DELETE() {
		String _userid = this.getParams("userid");
		int ret2 = user.E().Where(user.userid.Equals(_userid)).Delete();

		if (ret2 > 0) {
			REUser();
		} else {
			this.WriteUTF8JSONDATAMSG(-1, "删除失败!~", "");
		}
	}
	
	@RequestMode(MODE={RequestType.POST})
	public void UPDATEBYID()
	{
		user _user = this.getModelFromReq(user.class);
		int ret1 = _user.Update();
		
		if (ret1 > 0) {
			REUser();
		} else {
			this.WriteUTF8JSONDATAMSG(-1, "更新失败!~", "");
		}
	}

	public String TrUser() {
		String filter = this.getParams("filter");
		FILTER fil = null;
		if (filter != null && filter.length() > 0) {
			filter = "%" + filter + "%";
			
			fil = user.userid.Like(filter).OR(user.userid.Like(filter)).OR(user.username.Like(filter)).OR(user.usertype.Like(filter)).OR(user.nickname.Like(filter)).OR(user.passwords.Like(filter)).OR(user.birth.Like(filter)).OR(user.sex.Like(filter)).OR(user.state.Like(filter)).OR(user.appsid.Like(filter)).OR(user.createtime.Like(filter));	
		}

		DataCount = user.E().Where(fil).Count();

		this.setDataCount(DataCount);
		this.SetParamPageIndex();

		List<user> _users = user.E().Where(fil).DataCount(DataCount).PgSize(getPageSize()).Jump(getPageIndex()).Select();

		return RetJson( _users).toString();
	}

	@RequestMode(MODE = { RequestType.POST })
	public void REUser() {
		String retobj = this.TrUser();
		this.WriteUTF8JSONDATA(retobj);
	}

	@Override
	public List<fieldstr> GetFields() {
		if( fieldstrs == null || fieldstrs.size() < 1) {
			fieldstrs = new ArrayList<>();
			fieldstrs.add(new fieldstr("用户编号", "userid", false, false, true)); // 不显示，提交 
			fieldstrs.add(new fieldstr("用户名称", "username", true, true, false));  // 显示，提交 
			fieldstrs.add(new fieldstr("用户类型", "usertype",false, false, false,false));  // 不显示，不提交 
			fieldstrs.add(new fieldstr("昵称", "nickname", true, true, false));  // 显示，提交
			fieldstrs.add(new fieldstr("密码", "passwords", true, true, false));  // 显示，提交
			fieldstrs.add(new fieldstr("生日", "birth", true, true, false));  // 显示，提交
			fieldstrs.add(new fieldstr("性别", "sex", true, true, false));  // 显示，提交
			fieldstrs.add(new fieldstr("状态", "state", true, true, false));  // 显示，提交
			fieldstrs.add(new fieldstr("apps编号", "appsid", true, true, false));  // 显示，提交
			fieldstrs.add(new fieldstr("创建时间", "createtime", true, true, false));  // 显示，提交
			fieldstrs.add(new fieldstr("备注", "notes", true, true, false));  // 显示，提交
			
		}
		return fieldstrs;
	}
}
