first commit
This commit is contained in:
@@ -0,0 +1,155 @@
|
||||
package project.monitor.bonus.internal;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.orm.hibernate5.support.HibernateDaoSupport;
|
||||
import org.springframework.security.providers.encoding.PasswordEncoder;
|
||||
|
||||
import kernel.exception.BusinessException;
|
||||
import kernel.util.StringUtils;
|
||||
import kernel.web.Page;
|
||||
import kernel.web.PagedQueryDao;
|
||||
import project.Constants;
|
||||
import project.log.Log;
|
||||
import project.log.LogService;
|
||||
import project.monitor.bonus.AdminAutoMonitorSettleAddressConfigService;
|
||||
import project.monitor.bonus.AutoMonitorSettleAddressConfigService;
|
||||
import project.monitor.bonus.model.SettleAddressConfig;
|
||||
import project.syspara.SysparaService;
|
||||
import project.user.googleauth.GoogleAuthService;
|
||||
import security.SecUser;
|
||||
import security.internal.SecUserService;
|
||||
|
||||
public class AdminAutoMonitorSettleAddressConfigServiceImpl extends HibernateDaoSupport implements AdminAutoMonitorSettleAddressConfigService {
|
||||
|
||||
protected PagedQueryDao pagedQueryDao;
|
||||
protected SysparaService sysparaService;
|
||||
protected SecUserService secUserService;
|
||||
protected PasswordEncoder passwordEncoder;
|
||||
protected LogService logService;
|
||||
protected GoogleAuthService googleAuthService;
|
||||
protected AutoMonitorSettleAddressConfigService autoMonitorSettleAddressConfigService;
|
||||
|
||||
@Override
|
||||
public Page pagedQuery(int pageNo, int pageSize,String status,String channelAddress) {
|
||||
StringBuffer queryString = new StringBuffer(
|
||||
" SELECT addressConfig.UUID id,addressConfig.CHANNEL_ADDRESS channel_address,addressConfig.CREATE_TIME create_time,"
|
||||
+ "addressConfig.SETTLE_ADDRESS settle_address,addressConfig.SETTLE_RATE settle_rate,addressConfig.SETTLE_TYPE settle_type ");
|
||||
queryString.append(" FROM T_AUTO_MONITOR_SETTLE_ADDRESS_CONFIG addressConfig WHERE 1 = 1 ");
|
||||
Map<String, Object> parameters = new HashMap<>();
|
||||
// if (!StringUtils.isNullOrEmpty(status)) {
|
||||
// queryString.append(" and addressConfig.STATUS =:status ");
|
||||
// parameters.put("status", status);
|
||||
// }
|
||||
if (!StringUtils.isNullOrEmpty(channelAddress)) {
|
||||
queryString.append(" and addressConfig.CHANNEL_ADDRESS LIKE:channelAddress ");
|
||||
parameters.put("channelAddress","%"+channelAddress+"%");
|
||||
}
|
||||
queryString.append(" ORDER BY addressConfig.CREATE_TIME ASC ");
|
||||
Page page = this.pagedQueryDao.pagedQuerySQL(pageNo, pageSize, queryString.toString(), parameters);
|
||||
return page;
|
||||
}
|
||||
|
||||
public void updateChannelPrivateKey(SettleAddressConfig addressConfig,String operatorUsername,String loginSafeword,String superGoogleAuthCode,String ip,String googleAuthCode) {
|
||||
checkGoogleAuthCode(superGoogleAuthCode);
|
||||
SecUser sec = this.secUserService.findUserByLoginName(operatorUsername);
|
||||
// checkGoogleAuthCode(sec,googleAuthCode);
|
||||
checkLoginSafeword(operatorUsername,loginSafeword);
|
||||
// checkEmailCode(code);
|
||||
addressConfig.setChannel_private_key(autoMonitorSettleAddressConfigService.desEncrypt(addressConfig.getChannel_private_key()));
|
||||
autoMonitorSettleAddressConfigService.update(addressConfig);
|
||||
saveLog(sec,operatorUsername,"管理员修改清算归集地址密钥,地址["+addressConfig.getChannel_address()+"],ip["+ip+"]");
|
||||
}
|
||||
public void update(SettleAddressConfig addressConfig,String operatorUsername,String loginSafeword,String superGoogleAuthCode,String ip,String googleAuthCode,String log) {
|
||||
checkGoogleAuthCode(superGoogleAuthCode);
|
||||
SecUser sec = this.secUserService.findUserByLoginName(operatorUsername);
|
||||
// checkGoogleAuthCode(sec,googleAuthCode);
|
||||
checkLoginSafeword(operatorUsername,loginSafeword);
|
||||
autoMonitorSettleAddressConfigService.update(addressConfig);
|
||||
saveLog(sec,operatorUsername,log+",ip["+ip+"]");
|
||||
}
|
||||
/**
|
||||
* 验证谷歌验证码
|
||||
* @param code
|
||||
*/
|
||||
private void checkGoogleAuthCode(String code) {
|
||||
String secret = sysparaService.find("super_google_auth_secret").getValue();
|
||||
boolean checkCode = googleAuthService.checkCode(secret, code);
|
||||
if(!checkCode) {
|
||||
throw new BusinessException("谷歌验证码错误");
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 验证谷歌验证码
|
||||
* @param code
|
||||
*/
|
||||
private void checkGoogleAuthCode(SecUser secUser,String code) {
|
||||
if(!secUser.isGoogle_auth_bind()) {
|
||||
throw new BusinessException("请先绑定谷歌验证器");
|
||||
}
|
||||
boolean checkCode = googleAuthService.checkCode(secUser.getGoogle_auth_secret(), code);
|
||||
if(!checkCode) {
|
||||
throw new BusinessException("谷歌验证码错误");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证登录人资金密码
|
||||
* @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 setPagedQueryDao(PagedQueryDao pagedQueryDao) {
|
||||
this.pagedQueryDao = pagedQueryDao;
|
||||
}
|
||||
|
||||
public void setSysparaService(SysparaService sysparaService) {
|
||||
this.sysparaService = sysparaService;
|
||||
}
|
||||
|
||||
public void setSecUserService(SecUserService secUserService) {
|
||||
this.secUserService = secUserService;
|
||||
}
|
||||
|
||||
public void setPasswordEncoder(PasswordEncoder passwordEncoder) {
|
||||
this.passwordEncoder = passwordEncoder;
|
||||
}
|
||||
|
||||
public void setLogService(LogService logService) {
|
||||
this.logService = logService;
|
||||
}
|
||||
|
||||
public void setGoogleAuthService(GoogleAuthService googleAuthService) {
|
||||
this.googleAuthService = googleAuthService;
|
||||
}
|
||||
|
||||
public void setAutoMonitorSettleAddressConfigService(
|
||||
AutoMonitorSettleAddressConfigService autoMonitorSettleAddressConfigService) {
|
||||
this.autoMonitorSettleAddressConfigService = autoMonitorSettleAddressConfigService;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user