k94314517
2024-03-07 cc80794e556bbe1e43f9c1369e1dfc9c61318fda
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -27,7 +27,6 @@
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
@@ -53,14 +52,20 @@
    @Override
    public Integer create(DeviceRole deviceRole) {
        if(Objects.isNull(deviceRole)
            || StringUtils.isBlank(deviceRole.getName())
            || Objects.isNull(deviceRole.getType())
            || Objects.isNull(deviceRole.getIsDefault())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        // 获取之前是否存在默认门禁组
        DeviceRole newDeviceRole = null;
        if(null != deviceRole.getType()) {
            newDeviceRole = getDeviceRole(deviceRole.getType());
        }
        LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
        if(null != newDeviceRole) {
        if(null != newDeviceRole && deviceRole.getIsDefault().equals(Constants.ZERO)) {
            DeviceRole updateDeviceRole = new DeviceRole();
            // 若现在新增数据设置默认门禁组;那么先把之前的默认门禁组状态改为不是默认的
            updateDeviceRole.setId(newDeviceRole.getId());
@@ -118,7 +123,7 @@
            newDeviceRole = getDeviceRole(deviceRole.getType());
        }
        LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
        if(null != newDeviceRole) {
        if(null != newDeviceRole  && deviceRole.getIsDefault().equals(Constants.ZERO)) {
            DeviceRole update = new DeviceRole();
            update.setEdirot(loginUserInfo.getId().toString());
            update.setEditDate(new Date());
@@ -164,7 +169,8 @@
        LambdaQueryWrapper<DeviceRole> query = new LambdaQueryWrapper<>();
        query.eq(DeviceRole::getIsdeleted,Constants.ZERO)
                .eq(DeviceRole::getIsDefault,Constants.ZERO)
                .eq(DeviceRole::getType,type);
                .eq(DeviceRole::getType,type)
                .last(" limit 1");
        // 查询是否有默认门禁组,只能有一组默认门禁组
        DeviceRole getDeviceRole = deviceRoleMapper.selectOne(query);
        return getDeviceRole;
@@ -202,6 +208,7 @@
        IPage<DeviceRole> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<DeviceRole> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        pageWrap.getModel().setIsdeleted(Constants.ZERO);
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(DeviceRole::getId, pageWrap.getModel().getId());
        }
@@ -234,10 +241,9 @@
        if (StringUtils.isNotBlank(pageWrap.getModel().getType())) {
            if(pageWrap.getModel().getType().length() > 1) {
                String[] types = pageWrap.getModel().getType().split(",");
                queryWrapper.lambda()
                        .eq(DeviceRole::getType, types[0])
                queryWrapper.lambda().and(p-> p.eq(DeviceRole::getType, types[0])
                        .or()
                        .eq(DeviceRole::getType, types[1]);
                        .eq(DeviceRole::getType, types[1]));
            }else {
                queryWrapper.lambda().eq(DeviceRole::getType, pageWrap.getModel().getType());
            }
@@ -289,7 +295,7 @@
        List<DeviceRole> deviceRoleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
                .eq(DeviceRole::getType,type)
                .eq(DeviceRole::getIsdeleted, Constants.ZERO)
                .eq(DeviceRole::getStatus, Constants.ZERO)
                .eq(DeviceRole::getStatus, Constants.ONE)
        );
        List<DeviceRoleVO> deviceRoleVOList = new ArrayList<>();
        for (DeviceRole deviceRole:deviceRoleList) {