refactor(auth): 权限组⇄设备关联功能完善
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
This commit is contained in:
@@ -63,11 +63,8 @@ public class AuthTimer {
|
|||||||
/**
|
/**
|
||||||
* 每两分钟执行一次
|
* 每两分钟执行一次
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "0 */1 * * * ?")
|
// @Scheduled(cron = "0 */1 * * * ?")
|
||||||
public void autoAuth() {
|
public void autoAuth() {
|
||||||
|
|
||||||
// TenantHelper.setDynamic("000000", true);
|
|
||||||
|
|
||||||
List<RemoteResidentPersonVo> unAuthPerson = remoteResidentPersonService.queryUnAuthPerson();
|
List<RemoteResidentPersonVo> unAuthPerson = remoteResidentPersonService.queryUnAuthPerson();
|
||||||
// if (CollUtil.isNotEmpty(unAuthPerson)) {
|
// if (CollUtil.isNotEmpty(unAuthPerson)) {
|
||||||
//
|
//
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
package org.dromara.sis.mapper;
|
package org.dromara.sis.mapper;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.dromara.sis.domain.SisAuthGroupRef;
|
import org.dromara.sis.domain.SisAuthGroupRef;
|
||||||
import org.dromara.sis.domain.vo.SisAuthGroupRefVo;
|
import org.dromara.sis.domain.vo.SisAuthGroupRefVo;
|
||||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
@@ -8,8 +9,9 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
|||||||
* 权限组⇄设备关联Mapper接口
|
* 权限组⇄设备关联Mapper接口
|
||||||
*
|
*
|
||||||
* @author lsm
|
* @author lsm
|
||||||
* @date 2025-07-23
|
* @since 2025-07-23
|
||||||
*/
|
*/
|
||||||
|
@Mapper
|
||||||
public interface SisAuthGroupRefMapper extends BaseMapperPlus<SisAuthGroupRef, SisAuthGroupRefVo> {
|
public interface SisAuthGroupRefMapper extends BaseMapperPlus<SisAuthGroupRef, SisAuthGroupRefVo> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -346,8 +346,8 @@ public class HikAlarmCallBack implements HCNetSDK.FMSGCallBack_V31 {
|
|||||||
acIds.forEach(id -> {
|
acIds.forEach(id -> {
|
||||||
// controlType 1-门禁
|
// controlType 1-门禁
|
||||||
Long deviceId = bindRefList.stream().filter(vo -> vo.getBindId().equals(id) && vo.getControlType() == 1).findFirst().map(SisDeviceBindRefVo::getBindId).orElse(null);
|
Long deviceId = bindRefList.stream().filter(vo -> vo.getBindId().equals(id) && vo.getControlType() == 1).findFirst().map(SisDeviceBindRefVo::getBindId).orElse(null);
|
||||||
SisAccessControlVo ac = accessControlService.queryById(deviceId);
|
if (deviceId != null) {
|
||||||
if (ac != null) {
|
SisAccessControlVo ac = accessControlService.queryById(deviceId);
|
||||||
log.info("调用门禁服务远程开门,doorName:{}", ac.getAccessName());
|
log.info("调用门禁服务远程开门,doorName:{}", ac.getAccessName());
|
||||||
RemoteOpenDoorReq req = new RemoteOpenDoorReq();
|
RemoteOpenDoorReq req = new RemoteOpenDoorReq();
|
||||||
req.setType(0);
|
req.setType(0);
|
||||||
|
@@ -44,10 +44,13 @@ public interface ISisAuthGroupRefService {
|
|||||||
/**
|
/**
|
||||||
* 新增权限组⇄设备关联
|
* 新增权限组⇄设备关联
|
||||||
*
|
*
|
||||||
* @param bo 权限组⇄设备关联
|
* @param authGroupId 权限组id
|
||||||
|
* @param acIds 门禁id
|
||||||
|
* @param eleIds 电梯id
|
||||||
|
* @param floorIds 楼层id
|
||||||
* @return 是否新增成功
|
* @return 是否新增成功
|
||||||
*/
|
*/
|
||||||
Boolean insertByBo(SisAuthGroupRefBo bo);
|
Boolean insertByBo(Long authGroupId, Collection<Long> acIds, Collection<Long> eleIds, Collection<Long> floorIds);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改权限组⇄设备关联
|
* 修改权限组⇄设备关联
|
||||||
@@ -66,12 +69,17 @@ public interface ISisAuthGroupRefService {
|
|||||||
*/
|
*/
|
||||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过权限组id,查询授权设备列表
|
* 通过权限组id,查询授权设备列表
|
||||||
*
|
*
|
||||||
* @param groupId 权限id
|
* @param groupId 权限id
|
||||||
*/
|
*/
|
||||||
List<SisAuthGroupRefVo> queryListByGroupId(Long groupId);
|
List<SisAuthGroupRefVo> queryListByGroupId(Long groupId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过权限组id,删除授权设备列表
|
||||||
|
*
|
||||||
|
* @param groupId 权限id
|
||||||
|
*/
|
||||||
|
Boolean deleteByGroupId(Long groupId);
|
||||||
}
|
}
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
package org.dromara.sis.service.impl;
|
package org.dromara.sis.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.lang.Assert;
|
||||||
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
@@ -9,12 +10,19 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.dromara.property.api.RemoteFloorService;
|
||||||
|
import org.dromara.property.api.domain.vo.RemoteFloorVo;
|
||||||
|
import org.dromara.sis.domain.bo.SisElevatorFloorRefBo;
|
||||||
|
import org.dromara.sis.domain.vo.SisElevatorInfoVo;
|
||||||
|
import org.dromara.sis.service.ISisElevatorFloorRefService;
|
||||||
|
import org.dromara.sis.service.ISisElevatorInfoService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.dromara.sis.domain.bo.SisAuthGroupRefBo;
|
import org.dromara.sis.domain.bo.SisAuthGroupRefBo;
|
||||||
import org.dromara.sis.domain.vo.SisAuthGroupRefVo;
|
import org.dromara.sis.domain.vo.SisAuthGroupRefVo;
|
||||||
import org.dromara.sis.domain.SisAuthGroupRef;
|
import org.dromara.sis.domain.SisAuthGroupRef;
|
||||||
import org.dromara.sis.mapper.SisAuthGroupRefMapper;
|
import org.dromara.sis.mapper.SisAuthGroupRefMapper;
|
||||||
import org.dromara.sis.service.ISisAuthGroupRefService;
|
import org.dromara.sis.service.ISisAuthGroupRefService;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -27,12 +35,18 @@ import java.util.Collection;
|
|||||||
* @date 2025-07-23
|
* @date 2025-07-23
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RequiredArgsConstructor
|
|
||||||
@Service
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
public class SisAuthGroupRefServiceImpl implements ISisAuthGroupRefService {
|
public class SisAuthGroupRefServiceImpl implements ISisAuthGroupRefService {
|
||||||
|
|
||||||
private final SisAuthGroupRefMapper baseMapper;
|
private final SisAuthGroupRefMapper baseMapper;
|
||||||
|
|
||||||
|
private final ISisElevatorInfoService elevatorInfoService;
|
||||||
|
private final ISisElevatorFloorRefService sisElevatorFloorRefService;
|
||||||
|
|
||||||
|
@DubboReference
|
||||||
|
private RemoteFloorService remoteFloorService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询权限组⇄设备关联
|
* 查询权限组⇄设备关联
|
||||||
*
|
*
|
||||||
@@ -40,7 +54,7 @@ public class SisAuthGroupRefServiceImpl implements ISisAuthGroupRefService {
|
|||||||
* @return 权限组⇄设备关联
|
* @return 权限组⇄设备关联
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public SisAuthGroupRefVo queryById(Long id){
|
public SisAuthGroupRefVo queryById(Long id) {
|
||||||
return baseMapper.selectVoById(id);
|
return baseMapper.selectVoById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -83,18 +97,58 @@ public class SisAuthGroupRefServiceImpl implements ISisAuthGroupRefService {
|
|||||||
/**
|
/**
|
||||||
* 新增权限组⇄设备关联
|
* 新增权限组⇄设备关联
|
||||||
*
|
*
|
||||||
* @param bo 权限组⇄设备关联
|
* @param authGroupId 权限组id
|
||||||
|
* @param acIds 门禁id
|
||||||
|
* @param eleIds 电梯id
|
||||||
|
* @param floorIds 授权楼层id
|
||||||
* @return 是否新增成功
|
* @return 是否新增成功
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean insertByBo(SisAuthGroupRefBo bo) {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
SisAuthGroupRef add = MapstructUtils.convert(bo, SisAuthGroupRef.class);
|
public Boolean insertByBo(Long authGroupId, Collection<Long> acIds, Collection<Long> eleIds, Collection<Long> floorIds) {
|
||||||
validEntityBeforeSave(add);
|
// 删除权限组⇄设备关联关系
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
this.deleteByGroupId(authGroupId);
|
||||||
if (flag) {
|
|
||||||
bo.setId(add.getId());
|
// 电梯设备
|
||||||
|
List<SisElevatorInfoVo> eleVoList = elevatorInfoService.queryListByIds(eleIds);
|
||||||
|
|
||||||
|
log.info("开始写入授权组门禁,acIds:{}", acIds);
|
||||||
|
boolean check = false;
|
||||||
|
for (Long ac : acIds) {
|
||||||
|
SisAuthGroupRef groupRef = new SisAuthGroupRef();
|
||||||
|
groupRef.setAuthGroupId(authGroupId);
|
||||||
|
groupRef.setDeviceType(1L);
|
||||||
|
groupRef.setDeviceId(ac);
|
||||||
|
check = baseMapper.insert(groupRef) > 0;
|
||||||
|
Assert.isTrue(check, "写入授权组门禁失败!");
|
||||||
}
|
}
|
||||||
return flag;
|
log.info("写入授权组门禁完成");
|
||||||
|
|
||||||
|
log.info("开始写入授权组电梯,eleIds:{}", eleIds);
|
||||||
|
for (SisElevatorInfoVo ele : eleVoList) {
|
||||||
|
SisAuthGroupRef groupRef = new SisAuthGroupRef();
|
||||||
|
groupRef.setAuthGroupId(authGroupId);
|
||||||
|
groupRef.setDeviceType(2L);
|
||||||
|
groupRef.setDeviceId(ele.getElevatorId());
|
||||||
|
check = baseMapper.insert(groupRef) > 0;
|
||||||
|
Assert.isTrue(check, "写入授权组电梯失败!");
|
||||||
|
|
||||||
|
log.info("开始写入授权组电梯楼层,floorIds:{}", floorIds);
|
||||||
|
// 获取该电梯所在单元的楼层信息
|
||||||
|
List<RemoteFloorVo> floorVoList = remoteFloorService.queryByUnitId(ele.getUnitId());
|
||||||
|
// 该单元所有楼层id
|
||||||
|
List<Long> allFloors = floorVoList.stream().map(RemoteFloorVo::getId).toList();
|
||||||
|
// 对比找出授权楼层id
|
||||||
|
List<Long> authFloors = floorIds.stream().filter(allFloors::contains).toList();
|
||||||
|
SisElevatorFloorRefBo refBo = new SisElevatorFloorRefBo();
|
||||||
|
refBo.setAuthGroupId(authGroupId);
|
||||||
|
refBo.setElevatorId(ele.getElevatorId());
|
||||||
|
refBo.setFloorIds(authFloors);
|
||||||
|
sisElevatorFloorRefService.insertByBo(refBo);
|
||||||
|
}
|
||||||
|
log.info("写入授权组电梯完成");
|
||||||
|
|
||||||
|
return check;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -113,7 +167,7 @@ public class SisAuthGroupRefServiceImpl implements ISisAuthGroupRefService {
|
|||||||
/**
|
/**
|
||||||
* 保存前的数据校验
|
* 保存前的数据校验
|
||||||
*/
|
*/
|
||||||
private void validEntityBeforeSave(SisAuthGroupRef entity){
|
private void validEntityBeforeSave(SisAuthGroupRef entity) {
|
||||||
//TODO 做一些数据校验,如唯一约束
|
//TODO 做一些数据校验,如唯一约束
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,7 +180,7 @@ public class SisAuthGroupRefServiceImpl implements ISisAuthGroupRefService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
if(isValid){
|
if (isValid) {
|
||||||
//TODO 做一些业务上的校验,判断是否需要校验
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
}
|
}
|
||||||
return baseMapper.deleteByIds(ids) > 0;
|
return baseMapper.deleteByIds(ids) > 0;
|
||||||
@@ -138,9 +192,21 @@ public class SisAuthGroupRefServiceImpl implements ISisAuthGroupRefService {
|
|||||||
* @param groupId 权限id
|
* @param groupId 权限id
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<SisAuthGroupRefVo> queryListByGroupId(Long groupId){
|
public List<SisAuthGroupRefVo> queryListByGroupId(Long groupId) {
|
||||||
LambdaQueryWrapper<SisAuthGroupRef> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<SisAuthGroupRef> lqw = Wrappers.lambdaQuery();
|
||||||
lqw.eq(SisAuthGroupRef::getAuthGroupId, groupId);
|
lqw.eq(SisAuthGroupRef::getAuthGroupId, groupId);
|
||||||
return baseMapper.selectVoList(lqw);
|
return baseMapper.selectVoList(lqw);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过权限组id,删除授权设备列表
|
||||||
|
*
|
||||||
|
* @param groupId 权限id
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean deleteByGroupId(Long groupId) {
|
||||||
|
LambdaQueryWrapper<SisAuthGroupRef> lqw = Wrappers.lambdaQuery();
|
||||||
|
lqw.eq(SisAuthGroupRef::getAuthGroupId, groupId);
|
||||||
|
return baseMapper.delete(lqw) > 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,8 +1,6 @@
|
|||||||
package org.dromara.sis.service.impl;
|
package org.dromara.sis.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
@@ -12,12 +10,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.property.api.RemoteFloorService;
|
|
||||||
import org.dromara.property.api.domain.vo.RemoteFloorVo;
|
|
||||||
import org.dromara.sis.domain.bo.SisAuthGroupRefBo;
|
|
||||||
import org.dromara.sis.domain.bo.SisElevatorFloorRefBo;
|
|
||||||
import org.dromara.sis.domain.vo.SisAccessControlVo;
|
|
||||||
import org.dromara.sis.domain.vo.SisElevatorInfoVo;
|
|
||||||
import org.dromara.sis.service.*;
|
import org.dromara.sis.service.*;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.dromara.sis.domain.bo.SisAuthGroupBo;
|
import org.dromara.sis.domain.bo.SisAuthGroupBo;
|
||||||
@@ -43,13 +35,10 @@ public class SisAuthGroupServiceImpl implements ISisAuthGroupService {
|
|||||||
|
|
||||||
private final SisAuthGroupMapper baseMapper;
|
private final SisAuthGroupMapper baseMapper;
|
||||||
|
|
||||||
private final ISisElevatorInfoService elevatorInfoService;
|
|
||||||
private final ISisAccessControlService accessControlService;
|
|
||||||
private final ISisAuthGroupRefService sisAuthGroupRefService;
|
private final ISisAuthGroupRefService sisAuthGroupRefService;
|
||||||
private final ISisElevatorFloorRefService sisElevatorFloorRefService;
|
|
||||||
|
|
||||||
@DubboReference
|
|
||||||
private RemoteFloorService remoteFloorService;
|
|
||||||
/**
|
/**
|
||||||
* 查询授权组
|
* 查询授权组
|
||||||
*
|
*
|
||||||
@@ -57,7 +46,7 @@ public class SisAuthGroupServiceImpl implements ISisAuthGroupService {
|
|||||||
* @return 授权组
|
* @return 授权组
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public SisAuthGroupVo queryById(Long id){
|
public SisAuthGroupVo queryById(Long id) {
|
||||||
return baseMapper.selectVoById(id);
|
return baseMapper.selectVoById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,51 +98,11 @@ public class SisAuthGroupServiceImpl implements ISisAuthGroupService {
|
|||||||
add.setName(bo.getName());
|
add.setName(bo.getName());
|
||||||
add.setGroupType(bo.getGroupType());
|
add.setGroupType(bo.getGroupType());
|
||||||
|
|
||||||
// 电梯设备
|
|
||||||
List<SisElevatorInfoVo> eleVoList = elevatorInfoService.queryListByIds(bo.getEleIds());
|
|
||||||
if (CollUtil.isEmpty(eleVoList)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
Assert.isTrue(flag, "新增授权组失败");
|
Assert.isTrue(flag, "新增授权组失败");
|
||||||
|
|
||||||
if (flag) {
|
if (flag) {
|
||||||
log.info("开始写入授权组门禁,acIds:{}", bo.getAcIds());
|
flag = sisAuthGroupRefService.insertByBo(add.getId(), bo.getAcIds(), bo.getEleIds(), bo.getFloorIds());
|
||||||
boolean check;
|
|
||||||
for(Long ac : bo.getAcIds()){
|
|
||||||
SisAuthGroupRefBo groupRef = new SisAuthGroupRefBo();
|
|
||||||
groupRef.setAuthGroupId(add.getId());
|
|
||||||
groupRef.setDeviceType(1L);
|
|
||||||
groupRef.setDeviceId(ac);
|
|
||||||
check = sisAuthGroupRefService.insertByBo(groupRef);
|
|
||||||
Assert.isTrue(check, "写入授权组门禁失败!");
|
|
||||||
}
|
|
||||||
log.info("写入授权组门禁完成");
|
|
||||||
|
|
||||||
log.info("开始写入授权组电梯,eleIds:{}", bo.getEleIds());
|
|
||||||
for (SisElevatorInfoVo ele : eleVoList) {
|
|
||||||
SisAuthGroupRefBo groupRef = new SisAuthGroupRefBo();
|
|
||||||
groupRef.setAuthGroupId(add.getId());
|
|
||||||
groupRef.setDeviceType(2L);
|
|
||||||
groupRef.setDeviceId(ele.getElevatorId());
|
|
||||||
check = sisAuthGroupRefService.insertByBo(groupRef);
|
|
||||||
Assert.isTrue(check, "写入授权组电梯失败!");
|
|
||||||
|
|
||||||
log.info("开始写入授权组电梯楼层,floorIds:{}", bo.getFloorIds());
|
|
||||||
// 获取该电梯所在单元的楼层信息
|
|
||||||
List<RemoteFloorVo> floorVoList = remoteFloorService.queryByUnitId(ele.getUnitId());
|
|
||||||
// 该单元所有楼层id
|
|
||||||
List<Long> allFloors = floorVoList.stream().map(RemoteFloorVo::getId).toList();
|
|
||||||
// 对比找出授权楼层id
|
|
||||||
List<Long> authFloors = bo.getFloorIds().stream().filter(allFloors::contains).toList();
|
|
||||||
SisElevatorFloorRefBo refBo = new SisElevatorFloorRefBo();
|
|
||||||
refBo.setAuthGroupId(add.getId());
|
|
||||||
refBo.setElevatorId(ele.getElevatorId());
|
|
||||||
refBo.setFloorIds(authFloors);
|
|
||||||
sisElevatorFloorRefService.insertByBo(refBo);
|
|
||||||
}
|
|
||||||
log.info("写入授权组电梯完成");
|
|
||||||
}
|
}
|
||||||
return flag;
|
return flag;
|
||||||
}
|
}
|
||||||
@@ -165,16 +114,24 @@ public class SisAuthGroupServiceImpl implements ISisAuthGroupService {
|
|||||||
* @return 是否修改成功
|
* @return 是否修改成功
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean updateByBo(SisAuthGroupBo bo) {
|
public Boolean updateByBo(SisAuthGroupBo bo) {
|
||||||
SisAuthGroup update = MapstructUtils.convert(bo, SisAuthGroup.class);
|
SisAuthGroup update = MapstructUtils.convert(bo, SisAuthGroup.class);
|
||||||
validEntityBeforeSave(update);
|
Assert.notNull(update, "数据转换错误");
|
||||||
return baseMapper.updateById(update) > 0;
|
boolean flag = baseMapper.updateById(update) > 0;
|
||||||
|
Assert.isTrue(flag, "修改授权组失败");
|
||||||
|
|
||||||
|
if (flag) {
|
||||||
|
flag = sisAuthGroupRefService.insertByBo(update.getId(), bo.getAcIds(), bo.getEleIds(), bo.getFloorIds());
|
||||||
|
}
|
||||||
|
|
||||||
|
return flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存前的数据校验
|
* 保存前的数据校验
|
||||||
*/
|
*/
|
||||||
private void validEntityBeforeSave(SisAuthGroup entity){
|
private void validEntityBeforeSave(SisAuthGroup entity) {
|
||||||
//TODO 做一些数据校验,如唯一约束
|
//TODO 做一些数据校验,如唯一约束
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -187,7 +144,7 @@ public class SisAuthGroupServiceImpl implements ISisAuthGroupService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
if(isValid){
|
if (isValid) {
|
||||||
//TODO 做一些业务上的校验,判断是否需要校验
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
}
|
}
|
||||||
return baseMapper.deleteByIds(ids) > 0;
|
return baseMapper.deleteByIds(ids) > 0;
|
||||||
|
Reference in New Issue
Block a user