a-tuoheng-device/src/main/java/com/ruoyi/device/service/impl/GroupServiceImpl.java

118 lines
3.2 KiB
Java

package com.ruoyi.device.service.impl;
import com.ruoyi.device.api.domain.DockVO;
import com.ruoyi.device.domain.api.IGroupDomain;
import com.ruoyi.device.domain.api.IDockGroupDomain;
import com.ruoyi.device.domain.model.DockGroup;
import com.ruoyi.device.domain.model.Group;
import com.ruoyi.device.service.api.IGroupService;
import com.ruoyi.device.service.convert.GroupServiceConvert;
import com.ruoyi.device.service.dto.GroupDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 分组Service业务层处理
*
* @author ruoyi
* @date 2026-01-16
*/
@Service
public class GroupServiceImpl implements IGroupService
{
@Autowired
private IGroupDomain groupDomain;
@Autowired
private IDockGroupDomain dockGroupDomain;
@Override
public List<GroupDTO> selectGroupList(GroupDTO groupDTO)
{
Group model = GroupServiceConvert.toModel(groupDTO);
List<Group> modelList = groupDomain.selectGroupList(model);
return GroupServiceConvert.toDTOList(modelList);
}
@Override
public GroupDTO selectGroupByGroupId(Long groupId)
{
Group model = groupDomain.selectGroupByGroupId(groupId);
return GroupServiceConvert.toDTO(model);
}
@Override
public int insertGroup(GroupDTO groupDTO)
{
Group model = GroupServiceConvert.toModel(groupDTO);
return groupDomain.insertGroup(model);
}
@Override
public int updateGroup(GroupDTO groupDTO)
{
Group model = GroupServiceConvert.toModel(groupDTO);
return groupDomain.updateGroup(model);
}
@Override
public int deleteGroupByGroupId(Long groupId)
{
return groupDomain.deleteGroupByGroupId(groupId);
}
@Override
public int deleteGroupByGroupIds(Long[] groupIds)
{
return groupDomain.deleteGroupByGroupIds(groupIds);
}
@Override
public Long createGroup(GroupDTO groupDTO)
{
Group model = GroupServiceConvert.toModel(groupDTO);
groupDomain.insertGroup(model);
return model.getGroupId();
}
@Override
public void deleteGroup(Long groupId)
{
List<DockGroup> dockGroupList = dockGroupDomain.selectDockGroupByGroupId(groupId);
for (DockGroup dockGroup : dockGroupList)
{
dockGroupDomain.deleteDockGroupById(dockGroup.getId());
}
groupDomain.deleteGroupByGroupId(groupId);
}
@Override
public void switchDockGroup(Long dockId, Long groupId)
{
List<DockGroup> dockGroupList = dockGroupDomain.selectDockGroupByDockId(dockId);
for (DockGroup dockGroup : dockGroupList)
{
dockGroupDomain.deleteDockGroupById(dockGroup.getId());
}
DockGroup newDockGroup = new DockGroup();
newDockGroup.setDockId(dockId);
newDockGroup.setGroupId(groupId);
dockGroupDomain.insertDockGroup(newDockGroup);
}
@Override
public List<DockVO> getDocksByGroupId(Long groupId)
{
return null;
}
@Override
public List<Long> getAllGroupIds()
{
List<Group> groupList = groupDomain.selectGroupList(new Group());
return groupList.stream().map(Group::getGroupId).toList();
}
}