UserController.java 2.4 KB
package com.teplot.air.controller;

import com.air.model.User;
import com.jfinal.aop.Before;
import com.teplot.air.common.AbsController;
import com.teplot.air.validator.UserValidator;
import com.teplot.common.BaseController;
import com.teplot.common.Encrypt;
import com.teplot.common.Response;

/**
 * Depiction:
 * <p>
 * Modify:
 * <p>
 * Author: Kevin Lynn
 * <p>
 * Create Date:2017年4月7日 下午3:31:30
 * 
 */
@Before(UserValidator.class)
public class UserController extends AbsController {

	public void register() {
		Response ret = new Response(CODE_FAILURE);
		User model = getModel(User.class, "");
		if (model != null) {
			String username = model.getStr("username");
			User temp = User.dao.searchFirst("username", username);
			if (temp == null) {
				model.set("password", Encrypt.encrypt(username, model.getStr("password")));
				if (model.save()) {
					ret = new Response(CODE_SUCCESS);
					ret.setMsg(BaseController.MSG_SUCCESS);
				}
			} else {
				ret.setMsg("用户名已存在");
			}
		}

		renderJson(ret);
	}

	public void login() {
		Response ret = new Response(CODE_FAILURE);
		User model = getModel(User.class, "");
		if (model != null) {
			String username = model.getStr("username");
			String password = Encrypt.encrypt(username, model.getStr("password"));
			User temp = User.dao.searchFirst("username", username);
			if (temp != null && username.equalsIgnoreCase(temp.getStr("username"))
					&& password.equalsIgnoreCase(temp.getStr("password"))) {
				ret = new Response(CODE_SUCCESS);
				ret.setMsg(BaseController.MSG_SUCCESS);
				temp.remove("password");
				ret.setData(temp);
			} else {
				ret.setMsg("账号名或者密码错误");
			}
		}

		renderJson(ret);
	}

	public void modifyPassword() {
		Response ret = new Response(CODE_FAILURE);

		String username = getPara("username");
		String oldPassword = getPara("oldPassword");
		String newPassword = getPara("newPassword");

		User model = User.dao.searchFirst("username", username);
		if (model != null) {
			if (model.getStr("password").equalsIgnoreCase(Encrypt.encrypt(username, oldPassword))) {
				model.set("password", Encrypt.encrypt(username, newPassword));
				if (model.update()) {
					ret = new Response(CODE_SUCCESS);
					ret.setMsg(BaseController.MSG_SUCCESS);
					model.remove("password");
					ret.setData(model);
				}
			} else {
				ret.setMsg("旧密码错误");
			}
		} else {
			ret.setMsg("账号不存在");
		}

		renderJson(ret);
	}

	public void pickup() {
	}
}