Skip to content

Commit

Permalink
Set default avatar when installing.
Browse files Browse the repository at this point in the history
  • Loading branch information
ruibaby committed Jun 16, 2019
1 parent 4baeb40 commit 7cd5854
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,8 @@ private User createUser(InstallParam installParam) {
installParam.update(user);
// Set password manually
userService.setPassword(user, installParam.getPassword());
// Set default avatar
userService.setDefaultAvatar(user);
// Update user
return userService.update(user);
}).orElseGet(() -> userService.createBy(installParam));
Expand Down
7 changes: 7 additions & 0 deletions src/main/java/run/halo/app/service/UserService.java
Original file line number Diff line number Diff line change
Expand Up @@ -122,4 +122,11 @@ public interface UserService extends CrudService<User, Integer> {
* @param plainPassword plain password must not be blank
*/
void setPassword(@NonNull User user, @NonNull String plainPassword);

/**
* Set user default avatar,use Gavatar(http://cn.gravatar.com)
*
* @param user user must not be null
*/
void setDefaultAvatar(@NonNull User user);
}
10 changes: 10 additions & 0 deletions src/main/java/run/halo/app/service/impl/UserServiceImpl.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package run.halo.app.service.impl;

import cn.hutool.core.text.StrBuilder;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.crypto.digest.BCrypt;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.ApplicationEventPublisher;
Expand Down Expand Up @@ -193,4 +195,12 @@ public void setPassword(@NonNull User user, @NonNull String plainPassword) {
user.setPassword(BCrypt.hashpw(plainPassword, BCrypt.gensalt()));
}

@Override
public void setDefaultAvatar(User user) {
Assert.notNull(user, "User must not be null");
StrBuilder gravatar = new StrBuilder("//cn.gravatar.com/avatar/");
gravatar.append(SecureUtil.md5(user.getEmail()));
gravatar.append("?s=256&d=mm");
user.setAvatar(gravatar.toString());
}
}

0 comments on commit 7cd5854

Please sign in to comment.