package project.web.admin.impl.user;
|
|
import java.util.Date;
|
|
import org.springframework.security.providers.encoding.PasswordEncoder;
|
|
import kernel.exception.BusinessException;
|
import project.Constants;
|
import project.log.Log;
|
import project.log.LogService;
|
import project.syspara.SysparaService;
|
|
import project.user.googleauth.GoogleAuthService;
|
import project.web.admin.service.user.AdminPublicUserService;
|
import security.SecUser;
|
import security.internal.SecUserService;
|
|
public class AdminPublicUserServiceImpl implements AdminPublicUserService {
|
private SecUserService secUserService;
|
private LogService logService;
|
private PasswordEncoder passwordEncoder;
|
|
private SysparaService sysparaService;
|
private GoogleAuthService googleAuthService;
|
|
@Override
|
public void saveChangePassword(String partyId, String oldpassword, String password,String username,String safeword,String code,String googleAuthCode) {
|
SecUser secUser = secUserService.findUserByLoginName(username);
|
googleAuthService.checkGoogleAuthCode(secUser,googleAuthCode);
|
checkLoginSafeword(username,safeword);
|
this.secUserService.updatePassword(username, oldpassword, password);
|
|
saveLog(secUser,username,username+"修改自身密码,验证码:["+code+"]");
|
}
|
|
@Override
|
public void saveChangeSafeword(String partyId, String oldpassword, String password,String username,String code,String googleAuthCode) {
|
SecUser secUser = secUserService.findUserByLoginName(username);
|
googleAuthService.checkGoogleAuthCode(secUser,googleAuthCode);
|
this.secUserService.updateSafeword(username, oldpassword, password);
|
saveLog(secUser,username,username+"修改自身资金密码,验证码:["+code+"]");
|
}
|
|
/**
|
* 验证登录人资金密码
|
* @param operatorUsername
|
* @param loginSafeword
|
*/
|
private void checkLoginSafeword(String operatorUsername,String loginSafeword) {
|
SecUser sec = this.secUserService.findUserByLoginName(operatorUsername);
|
String sysSafeword = sec.getSafeword();
|
String safeword_md5 = passwordEncoder.encodePassword(loginSafeword, operatorUsername);
|
if (!safeword_md5.equals(sysSafeword)) {
|
throw new BusinessException("登录人资金密码错误");
|
}
|
|
}
|
|
public void saveLog(SecUser secUser, String operator,String context) {
|
Log log = new Log();
|
log.setCategory(Constants.LOG_CATEGORY_OPERATION);
|
log.setOperator(operator);
|
log.setUsername(secUser.getUsername());
|
log.setPartyId(secUser.getPartyId());
|
log.setLog(context);
|
log.setCreateTime(new Date());
|
logService.saveSync(log);
|
}
|
|
public void setSecUserService(SecUserService secUserService) {
|
this.secUserService = secUserService;
|
}
|
|
|
public void setLogService(LogService logService) {
|
this.logService = logService;
|
}
|
|
public void setPasswordEncoder(PasswordEncoder passwordEncoder) {
|
this.passwordEncoder = passwordEncoder;
|
}
|
|
public void setSysparaService(SysparaService sysparaService) {
|
this.sysparaService = sysparaService;
|
}
|
|
public void setGoogleAuthService(GoogleAuthService googleAuthService) {
|
this.googleAuthService = googleAuthService;
|
}
|
|
}
|