员工账号 唯一问题

登录
This commit is contained in:
wangw 2024-07-30 15:29:19 +08:00
parent 4655786218
commit a2844da331
2 changed files with 6 additions and 10 deletions

View File

@ -98,7 +98,7 @@ public class AuthorizationController {
if (authUser.isChecked() && StringUtils.isBlank(authUser.getCode()) || authUser.isChecked() && !authUser.getCode().equalsIgnoreCase(code)) { if (authUser.isChecked() && StringUtils.isBlank(authUser.getCode()) || authUser.isChecked() && !authUser.getCode().equalsIgnoreCase(code)) {
throw new BadRequestException("验证码错误"); throw new BadRequestException("验证码错误");
} }
String loginpre="";
// 判断是否是员工登录 // 判断是否是员工登录
if (authUser.getLoginType() != null && "staff".equals(authUser.getLoginType())) { if (authUser.getLoginType() != null && "staff".equals(authUser.getLoginType())) {
if (StrUtil.isBlank(authUser.getMerchantName())) { if (StrUtil.isBlank(authUser.getMerchantName())) {
@ -109,13 +109,12 @@ public class AuthorizationController {
if (merchant == null) { if (merchant == null) {
throw new BadRequestException("商户不存在"); throw new BadRequestException("商户不存在");
} }
loginpre=merchant.getShopId() + "@";
authUser.setUsername(merchant.getShopId() + "@" + authUser.getUsername());
} }
//生成token //生成token
UsernamePasswordAuthenticationToken authenticationToken = UsernamePasswordAuthenticationToken authenticationToken =
new UsernamePasswordAuthenticationToken(authUser.getUsername(), password); new UsernamePasswordAuthenticationToken(loginpre+authUser.getUsername(), password);
Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken); Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
SecurityContextHolder.getContext().setAuthentication(authentication); SecurityContextHolder.getContext().setAuthentication(authentication);
// 生成令牌与第三方系统获取令牌方式 // 生成令牌与第三方系统获取令牌方式

View File

@ -115,9 +115,6 @@ public class TbPlussShopStaffServiceImpl implements TbPlussShopStaffService {
if (resources.getMaxDiscountAmount().compareTo(new BigDecimal(100000000L)) > 0) { if (resources.getMaxDiscountAmount().compareTo(new BigDecimal(100000000L)) > 0) {
throw new BadRequestException("最大优惠金额过大"); throw new BadRequestException("最大优惠金额过大");
} }
resources.setAccount(resources.getShopId() + "@" + resources.getAccount());
resources.setCreatedAt(Instant.now().toEpochMilli()); resources.setCreatedAt(Instant.now().toEpochMilli());
//添加收银系统后台账号 //添加收银系统后台账号
@ -129,7 +126,7 @@ public class TbPlussShopStaffServiceImpl implements TbPlussShopStaffService {
user.setPassword(passwordEncoder.encode(resources.getPassword())); user.setPassword(passwordEncoder.encode(resources.getPassword()));
resources.setPassword(MD5Utils.md5(resources.getPassword())); resources.setPassword(MD5Utils.md5(resources.getPassword()));
} }
user.setUsername(resources.getAccount()); user.setUsername(resources.getShopId() + "@" +resources.getAccount());
user.setNickName(resources.getName()); user.setNickName(resources.getName());
user.setPhone(resources.getPhone()); user.setPhone(resources.getPhone());
user.setEnabled(true); user.setEnabled(true);
@ -164,7 +161,7 @@ public class TbPlussShopStaffServiceImpl implements TbPlussShopStaffService {
throw new BadRequestException("员工编号不能包含中文"); throw new BadRequestException("员工编号不能包含中文");
} }
TbPlussShopStaff tbPlussShopStaff = tbPlussShopStaffRepository.findById(resources.getId()).orElseGet(TbPlussShopStaff::new); TbPlussShopStaff tbPlussShopStaff = tbPlussShopStaffRepository.findById(resources.getId()).orElseGet(TbPlussShopStaff::new);
User sysUser = userRepository.findByUsername(tbPlussShopStaff.getAccount()); User sysUser = userRepository.findByUsername(resources.getShopId()+"@"+tbPlussShopStaff.getAccount());
if(!tbPlussShopStaff.getAccount().equals(resources.getAccount())){ if(!tbPlussShopStaff.getAccount().equals(resources.getAccount())){
if (userRepository.findByUsername(resources.getAccount()) != null) { if (userRepository.findByUsername(resources.getAccount()) != null) {
throw new BadRequestException("员工账号不可重复"); throw new BadRequestException("员工账号不可重复");
@ -182,7 +179,7 @@ public class TbPlussShopStaffServiceImpl implements TbPlussShopStaffService {
Role role = new Role(); Role role = new Role();
role.setId(resources.getRoleId()); role.setId(resources.getRoleId());
roles.add(role); roles.add(role);
sysUser.setUsername(resources.getAccount()); sysUser.setUsername(resources.getShopId()+"@"+resources.getAccount());
sysUser.setRoles(roles); sysUser.setRoles(roles);
sysUser.setNickName(resources.getName()); sysUser.setNickName(resources.getName());
if (StringUtils.isNotBlank(resources.getPassword())) { if (StringUtils.isNotBlank(resources.getPassword())) {