Merge remote-tracking branch 'origin/busUser' into busUser

# Conflicts:
#	api-admin/src/main/resources/schemas/schema_v2.1.sql
busUser
anthonywj 2 years ago
commit 240cfb9927

@ -41,4 +41,6 @@ public class Constant {
public static final int CHECK_NULL = 3; //校驗失敗,不存在
public static final String passwordReg = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_.*%@!]+$)(?![a-z0-9]+$)(?![a-z\\W_.;*%@!]+$)(?![0-9\\W_.;*%@!]+$)[a-zA-Z0-9\\W_.;*%@!]{8,20}$";
}

@ -2,6 +2,7 @@ package com.glxp.api.admin.controller.auth;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import com.glxp.api.admin.entity.auth.AuthRole;
import com.glxp.api.admin.entity.auth.AuthRoleAdmin;
@ -27,6 +28,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.*;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
@ -189,7 +191,12 @@ public class AuthAdminController {
AuthAdmin authAdmin = new AuthAdmin();
BeanUtils.copyProperties(authAdminSaveRequest, authAdmin);
if (authAdmin.getPassWord() != null) {
boolean matches = Pattern.matches(Constant.passwordReg, authAdmin.getPassWord());
if(!matches){
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "密码需要包含大写字母、小写字符、数字、特殊字符(含_.*%@!)其中任意三种,长度8-20位");
}
authAdmin.setPassWord(PasswordUtils.authAdminPwd(authAdmin.getPassWord()));
authAdmin.setLastUpdatePwdTime(new Date());
}
authAdmin.setLastModifyTime(new Date());
boolean b = authAdminService.updateAuthAdmin(authAdmin);

@ -1,6 +1,8 @@
package com.glxp.api.admin.controller.auth;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.glxp.api.admin.entity.auth.AuthCheckEntity;
import com.glxp.api.admin.entity.info.DeviceKeyEntity;
import com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity;
@ -73,7 +75,7 @@ public class LoginController {
throw new JsonException(ResultEnum.DATA_NOT, "用户名或密码错误");
}
if (!PasswordUtils.authAdminPwd(loginRequest.getPassword()).equals(authAdmin.getPassWord())) {
if (!PasswordUtils.authAdminPwd(loginRequest.getPassword()).equals(SecureUtil.md5().digestHex(authAdmin.getPassWord()))) {
throw new JsonException(ResultEnum.DATA_NOT, "用户名或密码错误");
}
if (authAdmin.getUserFlag() == 0) {
@ -115,6 +117,8 @@ public class LoginController {
loginResponse.setToken(token);
loginResponse.setDept(authAdmin.getDept());
loginResponse.setDeptName(authAdmin.getDeptName());
loginResponse.setNeedChangePwd(cn.hutool.core.date.DateUtil.between(authAdmin.getLastUpdatePwdTime() == null ? cn.hutool.core.date.DateUtil.date():authAdmin.getLastUpdatePwdTime()
, cn.hutool.core.date.DateUtil.date(), DateUnit.DAY)>=90);
return ResultVOUtils.success(loginResponse);
}
@ -265,7 +269,8 @@ public class LoginController {
authAdminUp.setId(authAdmin.getId());
String newPwd = PasswordUtils.authAdminPwd(updatePasswordRequest.getNewPassword());
authAdminUp.setPassWord(newPwd);
authAdmin.setLastModifyTime(new Date());
authAdminUp.setLastModifyTime(new Date());
authAdminUp.setLastUpdatePwdTime(new Date());
boolean b = authAdminService.updateAuthAdmin(authAdminUp);
if (b) {
return ResultVOUtils.success();

@ -18,6 +18,10 @@ public class AuthAdmin {
private String lastLoginIp;
// 最后登录时间
private Date lastLoginTime;
/**
*
*/
private Date lastUpdatePwdTime;
// 创建时间
private Date createTime;
// 状态

@ -1,9 +1,11 @@
package com.glxp.api.admin.req.auth;
import com.glxp.api.admin.constant.Constant;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
*
@ -18,6 +20,8 @@ public class UpdatePasswordRequest {
private String oldPassword;
@NotEmpty(message = "请输入新密码")
@Pattern(regexp = Constant.passwordReg
, message = "密码需要包含大写字母、小写字符、数字、特殊字符(含_.*%@!)其中任意三种,长度8-20位")
private String newPassword;
}

@ -12,4 +12,7 @@ public class LoginResponse {
private String dept;
private String deptName;
private boolean needChangePwd = false;
}

@ -130,6 +130,7 @@
<if test="lastLoginIp != null">lastLoginIp=#{lastLoginIp},</if>
<if test="lastLoginTime != null">lastLoginTime=#{lastLoginTime},</if>
<if test="lastModifyTime != null">lastModifyTime=#{lastModifyTime},</if>
<if test="lastUpdatePwdTime != null">lastUpdatePwdTime=#{lastUpdatePwdTime},</if>
<if test="userFlag != null">userFlag=#{userFlag},</if>
<if test="employeeName != null">employeeName=#{employeeName},</if>
<if test="locInvCode != null">locInvCode=#{locInvCode},</if>

@ -44,3 +44,8 @@ CALL Pro_Temp_ColumnWork('basic_bustype_local', 'preInBack', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('stock_order_detail', 'realCount', 'int', 1);
CALL Pro_Temp_ColumnWork('io_order_detail', 'realCount', 'int', 1);
CALL Pro_Temp_ColumnWork('auth_user', 'lastUpdatePwdTime', 'datetime ', 1);

Loading…
Cancel
Save