@At
@AdaptBy(type=JsonAdaptor.class)
@Ok("void")
public void update(@Param("..")UserProfile profile, @Attr(scope=Scope.SESSION, value="me")int userId) {
if (profile == null)
return;
profile.setUserId(userId);//修正userId,防止恶意修改其他用户的信息
profile.setUpdateTime(new Date());
profile.setAvatar(null); // 不准通过这个方法更新
UserProfile old = get(userId);//profile。getEmail为用户传递过来的值,old.getEmail为数据库里原有的值
// 检查email相关的更新
if (old.getEmail() == null) {
// 老的邮箱为null,所以新的肯定是未check的状态
profile.setEmailChecked(false);
} else {
if (profile.getEmail() == null) {
profile.setEmail(old.getEmail());
profile.setEmailChecked(old.isEmailChecked());
} else if (!profile.getEmail().equals(old.getEmail())) {
// 设置新邮箱,果断设置为未检查状态
profile.setEmailChecked(false);
} else {
profile.setEmailChecked(old.isEmailChecked());
}
}
Daos.ext(dao, FieldFilter.create(UserProfile.class, null, "avatar", true)).update(profile);
}
我什么都不输出 提交之后好像没有执行这一条 我的email和email_checked字段里面有值啊
if (profile.getEmail() == null) {
profile.setEmail(old.getEmail());
profile.setEmailChecked(old.isEmailChecked());