package com.qianwen.smartman.modules.system.handler.password.init;
|
|
import java.util.Date;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import com.qianwen.smartman.common.cache.ParamCache;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.smartman.modules.system.dto.PasswordModifyValidInfo;
|
import com.qianwen.smartman.modules.system.entity.User;
|
import com.qianwen.smartman.modules.system.handler.password.PasswordModifyValidLink;
|
import org.springframework.stereotype.Component;
|
|
@Component
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/system/handler/password/init/InitPasswordModifyLink.class */
|
public class InitPasswordModifyLink extends PasswordModifyValidLink {
|
private static final Logger log = LoggerFactory.getLogger(InitPasswordModifyLink.class);
|
private final InitPasswordModifyFactory initPasswordModifyFactory;
|
|
public InitPasswordModifyLink(final InitPasswordModifyFactory initPasswordModifyFactory) {
|
this.initPasswordModifyFactory = initPasswordModifyFactory;
|
}
|
|
@Override // org.springblade.modules.system.handler.password.PasswordModifyValidLink
|
public PasswordModifyValidInfo doModifyValid(User user, PasswordModifyValidInfo passwordModifyValidInfo) {
|
PasswordModifyValidLink next = super.next();
|
PasswordModifyValidInfo curValidInfo = new PasswordModifyValidInfo();
|
if (isInitialPassword(user.getPwdUpdateDate()).booleanValue()) {
|
String strategyCode = ParamCache.getValue("account.initPasswordModify");
|
curValidInfo = this.initPasswordModifyFactory.getInitPasswordModifyStrategy(strategyCode).passwordValid();
|
}
|
if (null == passwordModifyValidInfo) {
|
passwordModifyValidInfo = curValidInfo;
|
}
|
if (null != curValidInfo && curValidInfo.isCompulsoryModify()) {
|
return curValidInfo;
|
}
|
if (null == next) {
|
return passwordModifyValidInfo;
|
}
|
return next.doModifyValid(user, passwordModifyValidInfo);
|
}
|
|
private Boolean isInitialPassword(Date pwdUpdateDate) {
|
return Boolean.valueOf(Func.isEmpty(pwdUpdateDate));
|
}
|
}
|