|
@@ -210,18 +210,24 @@ public class SysUserServiceImpl extends ServiceImpl<ISysUserMapper, SysUser> imp
|
|
@Override
|
|
@Override
|
|
public void delUser(Long id) {
|
|
public void delUser(Long id) {
|
|
List<RepairLog> list = repairLogService.getBySysUserId(id);
|
|
List<RepairLog> list = repairLogService.getBySysUserId(id);
|
|
- Integer maxStatus = null;
|
|
|
|
|
|
+ HashMap<String,Integer> statusMap = new HashMap<>();
|
|
for (RepairLog repairLog : list) {
|
|
for (RepairLog repairLog : list) {
|
|
- if(maxStatus == null || repairLog.getRepairStatus() > maxStatus){
|
|
|
|
- maxStatus = repairLog.getRepairStatus();
|
|
|
|
|
|
+ if(statusMap.get(repairLog.getRepairId()) == null){
|
|
|
|
+ statusMap.put(repairLog.getRepairId(),repairLog.getRepairStatus());
|
|
|
|
+ }else {
|
|
|
|
+ Integer status = statusMap.get(repairLog.getRepairId());
|
|
|
|
+ if(repairLog.getRepairStatus() > status ){
|
|
|
|
+ statusMap.put(repairLog.getRepairId(),repairLog.getRepairStatus());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if(maxStatus == null || maxStatus >=11 ){
|
|
|
|
- this.removeById(id);
|
|
|
|
- return;
|
|
|
|
|
|
+ for (Integer maxStatus : statusMap.values()) {
|
|
|
|
+ if(maxStatus != null && maxStatus <11 ){
|
|
|
|
+ throw new BusinessException(ResultCode.DEL_USER_REPAIR);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- throw new BusinessException(ResultCode.DEL_USER_REPAIR);
|
|
|
|
|
|
|
|
|
|
+ this.removeById(id);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|