feat(device): 添加设备管理功能模块

- 新增设备实体类 Device 及其对应的数据传输对象 CreateDriveRequest 和 DeviceResponse
- 创建设备相关的控制器 DeviceController 并实现新建设备接口
- 实现设备服务接口 DeviceService 及其具体实现类 DeviceServiceImpl
- 添加设备数据访问层接口 DeviceMapper
- 在数据库初始化脚本中增加设备相关表结构定义,包括设备类型表、设备表和网络接口表
- 更新应用配置文件以激活开发环境配置
- 修复图片上传时获取原始文件名的问题
- 修改用户角色分配相关接口方法命名以提高语义清晰度
This commit is contained in:
Chaos
2025-11-21 06:29:50 +08:00
parent 8dd0efa09e
commit e23434ab48
15 changed files with 300 additions and 115 deletions

View File

@@ -0,0 +1,40 @@
package cn.nopj.chaos_api.service.impl;
import cn.nopj.chaos_api.common.exceotion.BizException;
import cn.nopj.chaos_api.domain.entity.Device;
import cn.nopj.chaos_api.dto.request.CreateDriveRequest;
import cn.nopj.chaos_api.dto.response.DeviceResponse;
import cn.nopj.chaos_api.mapper.DeviceMapper;
import cn.nopj.chaos_api.service.DeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Slf4j
public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements DeviceService {
@Override
@Transactional
public DeviceResponse createDevice(CreateDriveRequest createDriveRequest) {
Device device = new Device();
device.setName(createDriveRequest.getName());
device.setModel(createDriveRequest.getModel());
device.setTypeId(createDriveRequest.getTypeId());
device.setLocationId(createDriveRequest.getLocationId());
device.setSnmpCommunity(createDriveRequest.getSnmpCommunity());
device.setManufacturer(createDriveRequest.getManufacturer());
device.setPurchaseDate(createDriveRequest.getPurchaseDate());
device.setStatus(createDriveRequest.getStatus());
device.setRemark(createDriveRequest.getRemark());
int rows = this.baseMapper.insert(device);
if (rows > 0){
return new DeviceResponse(device);
}else {
throw new BizException("添加设备失败");
}
}
}