|
@@ -4,18 +4,25 @@ import java.util.Collection;
|
|
|
import java.util.Collections;
|
|
import java.util.Collections;
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Set;
|
|
|
|
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
|
|
+
|
|
|
|
|
+import org.springframework.context.annotation.Lazy;
|
|
|
|
|
+import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
+import com.ruoyi.common.constant.Constants;
|
|
|
import com.ruoyi.common.core.domain.PageQuery;
|
|
import com.ruoyi.common.core.domain.PageQuery;
|
|
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
|
import com.ruoyi.common.utils.BeanCopyUtils;
|
|
import com.ruoyi.common.utils.BeanCopyUtils;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
|
|
+import com.ruoyi.framework.web.service.ApiTokenService;
|
|
|
import com.ruoyi.info.nursing.domain.NursingCertificate;
|
|
import com.ruoyi.info.nursing.domain.NursingCertificate;
|
|
|
import com.ruoyi.info.nursing.domain.NursingWorker;
|
|
import com.ruoyi.info.nursing.domain.NursingWorker;
|
|
|
import com.ruoyi.info.nursing.domain.bo.EnableStatusBo;
|
|
import com.ruoyi.info.nursing.domain.bo.EnableStatusBo;
|
|
@@ -30,8 +37,11 @@ import com.ruoyi.info.nursing.mapper.NursingCertificateMapper;
|
|
|
import com.ruoyi.info.nursing.mapper.NursingWorkerMapper;
|
|
import com.ruoyi.info.nursing.mapper.NursingWorkerMapper;
|
|
|
import com.ruoyi.info.nursing.service.INursingCertificateService;
|
|
import com.ruoyi.info.nursing.service.INursingCertificateService;
|
|
|
import com.ruoyi.info.nursing.service.INursingWorkerService;
|
|
import com.ruoyi.info.nursing.service.INursingWorkerService;
|
|
|
|
|
+import com.ruoyi.user.domain.User;
|
|
|
|
|
+import com.ruoyi.user.service.IUserService;
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
@@ -52,6 +62,16 @@ public class NursingWorkerServiceImpl implements INursingWorkerService {
|
|
|
|
|
|
|
|
private final INursingCertificateService nursingCertificateService;
|
|
private final INursingCertificateService nursingCertificateService;
|
|
|
|
|
|
|
|
|
|
+ @Lazy
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private ApiTokenService apiTokenService;
|
|
|
|
|
+
|
|
|
|
|
+ @Lazy
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private IUserService iUserService;
|
|
|
|
|
+
|
|
|
|
|
+ private final StringRedisTemplate stringRedisTemplate;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 查询护工信息分页
|
|
* 查询护工信息分页
|
|
|
*
|
|
*
|
|
@@ -214,13 +234,26 @@ public class NursingWorkerServiceImpl implements INursingWorkerService {
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
@Override
|
|
|
public void updateStatus(EnableStatusBo bo) {
|
|
public void updateStatus(EnableStatusBo bo) {
|
|
|
|
|
+ // 修改状态
|
|
|
NursingWorker nursingWorker = baseMapper.selectById(bo.getId());
|
|
NursingWorker nursingWorker = baseMapper.selectById(bo.getId());
|
|
|
nursingWorker.setEnableStatus(bo.getEnableStatus());
|
|
nursingWorker.setEnableStatus(bo.getEnableStatus());
|
|
|
nursingWorker.setUpdateTime(new Date());
|
|
nursingWorker.setUpdateTime(new Date());
|
|
|
-
|
|
|
|
|
baseMapper.updateById(nursingWorker);
|
|
baseMapper.updateById(nursingWorker);
|
|
|
|
|
+
|
|
|
|
|
+ // 如果是禁用状态 则需要强制踢出小程序端的登录用户
|
|
|
|
|
+ if (EnableStatusEnum.isForbidden(bo.getEnableStatus())) {
|
|
|
|
|
+ // 获取护工对应的用户id
|
|
|
|
|
+ User user = iUserService.loadByMobile(nursingWorker.getPhoneNumber(), true);
|
|
|
|
|
+ Set<String> tokens = stringRedisTemplate.opsForSet().members(Constants.JWT_ONLINE_USER_TOKEN + user.getId());
|
|
|
|
|
+ if (CollUtil.isNotEmpty(tokens)) {
|
|
|
|
|
+ for (String token : tokens) {
|
|
|
|
|
+ apiTokenService.removeToken(token);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|