|
|
|
@ -92,6 +92,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i |
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void saveUser(SysUserEntity user) { |
|
|
|
// 默认工厂必填校验 - rqrq |
|
|
|
if (StringUtils.isBlank(user.getSite())) { |
|
|
|
throw new RuntimeException("默认工厂不能为空"); |
|
|
|
} |
|
|
|
user.setSite(StringUtils.trim(user.getSite())); |
|
|
|
user.setCreateTime(new Date()); |
|
|
|
//sha256加密 |
|
|
|
String salt = RandomStringUtils.randomAlphanumeric(20); |
|
|
|
@ -104,11 +109,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i |
|
|
|
|
|
|
|
//保存用户与角色关系 |
|
|
|
sysUserRoleService.saveOrUpdate(user.getUserId(), user.getRoleIdList()); |
|
|
|
SiteVo accessSite = new SiteVo(); |
|
|
|
accessSite.setUsername(user.getUsername()); |
|
|
|
accessSite.setSiteid(user.getSite()); |
|
|
|
//保存用户工厂权限 |
|
|
|
sysRoleDao.saveUserAccessSite(accessSite); |
|
|
|
// 保存默认工厂及默认BU(*)权限 - rqrq |
|
|
|
grantDefaultSiteAndBuAccess(user); |
|
|
|
//保存用户对应的供应商 |
|
|
|
baseMapper.saveUserSupplier(user); |
|
|
|
|
|
|
|
@ -117,6 +119,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i |
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void update(SysUserEntity user) { |
|
|
|
// 更新默认工厂时做trim处理 - rqrq |
|
|
|
if (StringUtils.isNotBlank(user.getSite())) { |
|
|
|
user.setSite(StringUtils.trim(user.getSite())); |
|
|
|
} |
|
|
|
if(StringUtils.isBlank(user.getPassword())){ |
|
|
|
user.setPassword(null); |
|
|
|
}else{ |
|
|
|
@ -129,6 +135,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i |
|
|
|
|
|
|
|
//保存用户与角色关系 |
|
|
|
sysUserRoleService.saveOrUpdate(user.getUserId(), user.getRoleIdList()); |
|
|
|
// 用户编辑时如修改默认工厂,新增对应工厂与BU(*)权限,历史权限不删除 - rqrq |
|
|
|
if (StringUtils.isNotBlank(user.getSite()) && StringUtils.isNotBlank(user.getUsername())) { |
|
|
|
grantDefaultSiteAndBuAccess(user); |
|
|
|
} |
|
|
|
SysUserEntity sysUserEntity = baseMapper.selectUserSupplierById(user.getUserId()); |
|
|
|
if (sysUserEntity != null) { |
|
|
|
//更新 |
|
|
|
@ -139,6 +149,20 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 新增/编辑用户时,确保默认工厂权限与BU(*)权限存在(幂等) - rqrq |
|
|
|
*/ |
|
|
|
private void grantDefaultSiteAndBuAccess(SysUserEntity user) { |
|
|
|
List<AccessSiteData> exists = baseMapper.checkAccessSite(user.getSite(), user.getUsername()); |
|
|
|
if (exists == null || exists.isEmpty()) { |
|
|
|
SiteVo accessSite = new SiteVo(); |
|
|
|
accessSite.setUsername(user.getUsername()); |
|
|
|
accessSite.setSiteid(user.getSite()); |
|
|
|
sysRoleDao.saveUserAccessSite(accessSite); |
|
|
|
} |
|
|
|
baseMapper.saveUserDefaultAccessBu(user.getUsername(), user.getSite()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void deleteBatch(Long[] userId) { |
|
|
|
|