|
|
|
@ -13,12 +13,14 @@ import com.ruoyi.common.utils.StringUtils;
|
|
|
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
|
|
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
|
|
|
import com.ruoyi.system.domain.AppUser;
|
|
|
|
import com.ruoyi.system.domain.AppUser;
|
|
|
|
import com.ruoyi.system.domain.SysUserRole;
|
|
|
|
import com.ruoyi.system.domain.SysUserRole;
|
|
|
|
|
|
|
|
import com.ruoyi.system.domain.columns.SysTeacher;
|
|
|
|
import com.ruoyi.system.mapper.SysRoleMapper;
|
|
|
|
import com.ruoyi.system.mapper.SysRoleMapper;
|
|
|
|
import com.ruoyi.system.mapper.SysUserMapper;
|
|
|
|
import com.ruoyi.system.mapper.SysUserMapper;
|
|
|
|
import com.ruoyi.system.mapper.SysUserRoleMapper;
|
|
|
|
import com.ruoyi.system.mapper.SysUserRoleMapper;
|
|
|
|
import com.ruoyi.system.service.ISysConfigService;
|
|
|
|
import com.ruoyi.system.service.ISysConfigService;
|
|
|
|
import com.ruoyi.system.service.ISysUserService;
|
|
|
|
import com.ruoyi.system.service.ISysUserService;
|
|
|
|
import com.ruoyi.system.service.YjAppUserService;
|
|
|
|
import com.ruoyi.system.service.YjAppUserService;
|
|
|
|
|
|
|
|
import com.ruoyi.system.service.columns.ISysTeacherService;
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
@ -26,6 +28,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
@ -56,6 +59,9 @@ public class SysUserServiceImpl implements ISysUserService
|
|
|
|
@Autowired
|
|
|
|
@Autowired
|
|
|
|
private YjAppUserService appUserService;
|
|
|
|
private YjAppUserService appUserService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
|
|
private ISysTeacherService teacherService;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 根据条件分页查询用户列表
|
|
|
|
* 根据条件分页查询用户列表
|
|
|
|
*
|
|
|
|
*
|
|
|
|
@ -229,9 +235,20 @@ public class SysUserServiceImpl implements ISysUserService
|
|
|
|
insertUserRole(user);
|
|
|
|
insertUserRole(user);
|
|
|
|
//新增app用户
|
|
|
|
//新增app用户
|
|
|
|
insertAppUser(user);
|
|
|
|
insertAppUser(user);
|
|
|
|
|
|
|
|
//关联teacher表
|
|
|
|
|
|
|
|
Long[] roles = user.getRoleIds();
|
|
|
|
|
|
|
|
if (Arrays.stream(roles)
|
|
|
|
|
|
|
|
.anyMatch(new Long(104)::equals)){
|
|
|
|
|
|
|
|
SysTeacher teacher=new SysTeacher();
|
|
|
|
|
|
|
|
teacher.setUserId(user.getUserId());
|
|
|
|
|
|
|
|
teacher.setTeacherName(user.getNickName());
|
|
|
|
|
|
|
|
teacherService.insertSysTeacher(teacher);
|
|
|
|
|
|
|
|
}
|
|
|
|
return rows;
|
|
|
|
return rows;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//关联app账号
|
|
|
|
//关联app账号
|
|
|
|
public void insertAppUser(SysUser user){
|
|
|
|
public void insertAppUser(SysUser user){
|
|
|
|
AppUser appUser=appUserService.getOne(new QueryWrapper<AppUser>().eq("phone_number",user.getPhonenumber()));
|
|
|
|
AppUser appUser=appUserService.getOne(new QueryWrapper<AppUser>().eq("phone_number",user.getPhonenumber()));
|
|
|
|
@ -287,7 +304,32 @@ public class SysUserServiceImpl implements ISysUserService
|
|
|
|
public int updateUser(SysUser user)
|
|
|
|
public int updateUser(SysUser user)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Long userId = user.getUserId();
|
|
|
|
Long userId = user.getUserId();
|
|
|
|
// 删除用户与角色关联
|
|
|
|
// 修改用户与教练表关联
|
|
|
|
|
|
|
|
// 1.是否原为教练
|
|
|
|
|
|
|
|
int dbHasTeacherRole= userRoleMapper.countRoleAndUserId(new Long(104),userId);
|
|
|
|
|
|
|
|
Long[] roles = user.getRoleIds();
|
|
|
|
|
|
|
|
//2.新权限中是否含有教练角色
|
|
|
|
|
|
|
|
if (Arrays.stream(roles)
|
|
|
|
|
|
|
|
.anyMatch(new Long(104)::equals)){
|
|
|
|
|
|
|
|
//3.新增有教练角色,判断原有角色是否包含教练
|
|
|
|
|
|
|
|
if (dbHasTeacherRole<1){
|
|
|
|
|
|
|
|
//3.1.原来没有,则新增教练表数据
|
|
|
|
|
|
|
|
SysTeacher teacher=new SysTeacher();
|
|
|
|
|
|
|
|
teacher.setUserId(userId);
|
|
|
|
|
|
|
|
teacher.setTeacherName(user.getNickName());
|
|
|
|
|
|
|
|
teacherService.insertSysTeacher(teacher);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
//4.新增无教练角色,判断原有角色是否包含教练
|
|
|
|
|
|
|
|
if (dbHasTeacherRole>0 ){
|
|
|
|
|
|
|
|
//4.1原来有,则判断教练表数据是否被使用
|
|
|
|
|
|
|
|
if (teacherService.isUsed(Arrays.asList(userId))){
|
|
|
|
|
|
|
|
throw new RuntimeException("该员工作为教练已经排课,或在会员卡项中被单独定义,无法删除教练角色!");
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
teacherService.deleteSysTeacherByUserId(userId);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
userRoleMapper.deleteUserRoleByUserId(userId);
|
|
|
|
userRoleMapper.deleteUserRoleByUserId(userId);
|
|
|
|
// 新增用户与角色管理
|
|
|
|
// 新增用户与角色管理
|
|
|
|
insertUserRole(user);
|
|
|
|
insertUserRole(user);
|
|
|
|
@ -308,6 +350,28 @@ public class SysUserServiceImpl implements ISysUserService
|
|
|
|
@Transactional
|
|
|
|
@Transactional
|
|
|
|
public void insertUserAuth(Long userId, Long[] roleIds)
|
|
|
|
public void insertUserAuth(Long userId, Long[] roleIds)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
// 1.是否原为教练 2.是 校验是否被使用
|
|
|
|
|
|
|
|
int dbHasTeacherRole= userRoleMapper.countRoleAndUserId(new Long(104),userId);
|
|
|
|
|
|
|
|
if (Arrays.stream(roleIds)
|
|
|
|
|
|
|
|
.anyMatch(new Long(104)::equals)){
|
|
|
|
|
|
|
|
//关联teacher表 新增的教练权限
|
|
|
|
|
|
|
|
if (dbHasTeacherRole<1){
|
|
|
|
|
|
|
|
SysTeacher teacher=new SysTeacher();
|
|
|
|
|
|
|
|
teacher.setUserId(userId);
|
|
|
|
|
|
|
|
teacher.setTeacherName(this.selectUserById(userId).getNickName());
|
|
|
|
|
|
|
|
teacherService.insertSysTeacher(teacher);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
if (dbHasTeacherRole>0 ){
|
|
|
|
|
|
|
|
if (teacherService.isUsed(Arrays.asList(userId))){
|
|
|
|
|
|
|
|
throw new RuntimeException("该员工作为教练已经排课,或在会员卡项中被单独定义,无法删除教练角色!");
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
teacherService.deleteSysTeacherByUserId(userId);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
userRoleMapper.deleteUserRoleByUserId(userId);
|
|
|
|
userRoleMapper.deleteUserRoleByUserId(userId);
|
|
|
|
insertUserRole(userId, roleIds);
|
|
|
|
insertUserRole(userId, roleIds);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -405,6 +469,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 新增用户角色信息
|
|
|
|
* 新增用户角色信息
|
|
|
|
*
|
|
|
|
*
|
|
|
|
@ -452,10 +517,23 @@ public class SysUserServiceImpl implements ISysUserService
|
|
|
|
@Transactional
|
|
|
|
@Transactional
|
|
|
|
public int deleteUserByIds(Long[] userIds)
|
|
|
|
public int deleteUserByIds(Long[] userIds)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//取消与app登录用户的关联
|
|
|
|
|
|
|
|
for (Long userId : userIds)
|
|
|
|
for (Long userId : userIds)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
// 1.是否原为教练 2.是 校验是否被使用
|
|
|
|
|
|
|
|
int dbHasTeacherRole= userRoleMapper.countRoleAndUserId(new Long(104),userId);
|
|
|
|
|
|
|
|
if (dbHasTeacherRole>0 ){
|
|
|
|
|
|
|
|
if (teacherService.isUsed(Arrays.asList(userId))){
|
|
|
|
|
|
|
|
throw new RuntimeException("该员工作为教练已经排课,或在会员卡项中被单独定义,无法删除!");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//关联teacher 表
|
|
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(teacherService.selectSysTeacherByUserId(userId))){
|
|
|
|
|
|
|
|
teacherService.deleteSysTeacherByUserId(userId);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
checkUserAllowed(new SysUser(userId));
|
|
|
|
checkUserAllowed(new SysUser(userId));
|
|
|
|
|
|
|
|
//取消与app登录用户的关联
|
|
|
|
removeAppUserManager(userId);
|
|
|
|
removeAppUserManager(userId);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 删除用户与角色关联
|
|
|
|
// 删除用户与角色关联
|
|
|
|
|