删除用户时查询判断存在排班任务时,返回提示信息
新增删除用户接口强制删除用户关联排班任务等信息
This commit is contained in:
parent
4d6157d517
commit
ae5e5889d5
|
@ -49,6 +49,7 @@ import org.springframework.web.servlet.ModelAndView;
|
|||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
@ -223,9 +224,22 @@ public class SysUserController {
|
|||
@RequestMapping(value = "/delete", method = RequestMethod.DELETE)
|
||||
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
|
||||
baseCommonService.addLog("删除用户,id: " +id ,CommonConstant.LOG_TYPE_2, 3);
|
||||
this.sysUserService.deleteUser(id);
|
||||
return Result.ok("删除用户成功");
|
||||
}
|
||||
try {
|
||||
return this.sysUserService.deleteUser(id);
|
||||
} catch (ParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除用户
|
||||
*/
|
||||
//@RequiresPermissions("system:user:delete")
|
||||
@RequestMapping(value = "/deleteById", method = RequestMethod.DELETE)
|
||||
public Result<?> deleteById(@RequestParam(name="id",required=true) String id) {
|
||||
baseCommonService.addLog("删除用户,id: " +id ,CommonConstant.LOG_TYPE_2, 3);
|
||||
return this.sysUserService.deleteById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除用户
|
||||
|
|
|
@ -17,6 +17,7 @@ import org.jeecg.modules.system.vo.lowapp.UpdateDepartInfo;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.text.ParseException;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -67,7 +68,14 @@ public interface ISysUserService extends IService<SysUser> {
|
|||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
public boolean deleteUser(String userId);
|
||||
public Result deleteUser(String userId) throws ParseException;
|
||||
|
||||
/**
|
||||
* 删除用户
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
public Result deleteById(String userId);
|
||||
|
||||
/**
|
||||
* 批量删除用户
|
||||
|
|
|
@ -50,6 +50,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.text.ParseException;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
@ -97,6 +98,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||
private SysUserTenantMapper relationMapper;
|
||||
@Autowired
|
||||
private SysUserTenantMapper userTenantMapper;
|
||||
@Autowired
|
||||
private SysTaskMapper sysTaskMapper;
|
||||
@Autowired
|
||||
private SysTaskStationMapper sysTaskStationMapper;
|
||||
|
||||
@Value("${system.auth.defaultPassword}")
|
||||
private String defaultPassword;
|
||||
|
@ -220,10 +225,46 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||
@Override
|
||||
@CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true)
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean deleteUser(String userId) {
|
||||
public Result deleteUser(String userId) throws ParseException {
|
||||
//判断当前用户是否有排班任务,如果有就不让删除
|
||||
LambdaQueryWrapper<SysTask> taskQueryWrapper = new LambdaQueryWrapper<>();
|
||||
taskQueryWrapper.eq(SysTask::getUserId, userId);
|
||||
taskQueryWrapper.ge(SysTask::getSchedulingDate, DateUtils.parseDate(DateUtils.formatDate(new Date()) ,"yyyy-MM-dd"));
|
||||
List<SysTask> sysTasks = sysTaskMapper.selectList(taskQueryWrapper);
|
||||
if (CollectionUtils.isNotEmpty(sysTasks)){
|
||||
return Result.error("删除失败, 当前用户存在排班任务信息!");
|
||||
}
|
||||
//删除用户关联的权限信息
|
||||
LambdaQueryWrapper<SysUserRole> userRoleQueryWrapper = new LambdaQueryWrapper<>();
|
||||
userRoleQueryWrapper.eq(SysUserRole::getUserId, userId);
|
||||
sysUserRoleMapper.delete(userRoleQueryWrapper);
|
||||
//1.删除用户
|
||||
this.removeById(userId);
|
||||
return false;
|
||||
this.baseMapper.deleteById(userId);
|
||||
return Result.ok("删除用户成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Result deleteById(String userId) {
|
||||
//根据用户id删除排班任务信息
|
||||
LambdaQueryWrapper<SysTask> taskQueryWrapper = new LambdaQueryWrapper<>();
|
||||
taskQueryWrapper.eq(SysTask::getUserId, userId);
|
||||
List<SysTask> sysTasks = sysTaskMapper.selectList(taskQueryWrapper);
|
||||
//如果排班任务信息不为空,删除排班任务相关台站信息
|
||||
if (CollectionUtils.isNotEmpty(sysTasks)){
|
||||
List<String> taskIds = sysTasks.stream().map(SysTask::getId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<SysTaskStation> taskStationQueryWrapper = new LambdaQueryWrapper<>();
|
||||
taskStationQueryWrapper.in(SysTaskStation::getTaskId, taskIds);
|
||||
sysTaskStationMapper.delete(taskStationQueryWrapper);
|
||||
}
|
||||
sysTaskMapper.delete(taskQueryWrapper);
|
||||
//删除用户关联的权限信息
|
||||
LambdaQueryWrapper<SysUserRole> userRoleQueryWrapper = new LambdaQueryWrapper<>();
|
||||
userRoleQueryWrapper.eq(SysUserRole::getUserId, userId);
|
||||
sysUserRoleMapper.delete(userRoleQueryWrapper);
|
||||
//1.删除用户
|
||||
this.baseMapper.deleteById(userId);
|
||||
return Result.ok("删除用户成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue
Block a user