diff --git a/fys-admin/src/main/resources/logback-plus.xml b/fys-admin/src/main/resources/logback-plus.xml index b74289e..afb8124 100644 --- a/fys-admin/src/main/resources/logback-plus.xml +++ b/fys-admin/src/main/resources/logback-plus.xml @@ -16,12 +16,12 @@ ${log.path}/sys-console.log - - - ${log.path}/sys-console.%d{yyyy-MM-dd}.log - - 1 - + + + + + + ${log.pattern} utf-8 @@ -36,12 +36,12 @@ ${log.path}/sys-info.log - - - ${log.path}/sys-info.%d{yyyy-MM-dd}.log - - 60 - + + + + + + ${log.pattern} @@ -58,12 +58,12 @@ ${log.path}/sys-error.log - - - ${log.path}/sys-error.%d{yyyy-MM-dd}.log - - 60 - + + + + + + ${log.pattern} diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceController.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceController.java index 01b89fb..9633007 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceController.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceController.java @@ -44,7 +44,7 @@ import java.util.List; * @Date: 2025/5/16 **/ @Slf4j -@Tag(name = "设备管理", description = "设备:设备管理") +@Tag(name = "web:设备管理", description = "web:设备管理") @RestController @RequiredArgsConstructor @RequestMapping("/api/device") diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/mapper/DeviceAssignmentsMapper.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/mapper/DeviceAssignmentsMapper.java new file mode 100644 index 0000000..8cc0cb9 --- /dev/null +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/mapper/DeviceAssignmentsMapper.java @@ -0,0 +1,18 @@ +package com.fuyuanshen.equipment.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.fuyuanshen.equipment.domain.DeviceAssignments; +import org.apache.ibatis.annotations.Mapper; + +/** +* @author 97433 +* @description 针对表【device_assignments】的数据库操作Mapper +* @createDate 2025-06-19 18:19:13 +* @Entity system.domain.DeviceAssignments +*/ +@Mapper +public interface DeviceAssignmentsMapper extends BaseMapper { + + + +} diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/DeviceAssignmentsService.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/DeviceAssignmentsService.java new file mode 100644 index 0000000..c8c30de --- /dev/null +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/DeviceAssignmentsService.java @@ -0,0 +1,13 @@ +package com.fuyuanshen.equipment.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.fuyuanshen.equipment.domain.DeviceAssignments; + +/** +* @author 97433 +* @description 针对表【device_assignments】的数据库操作Service +* @createDate 2025-06-19 18:19:13 +*/ +public interface DeviceAssignmentsService extends IService { + +} diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceAssignmentsServiceImpl.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceAssignmentsServiceImpl.java new file mode 100644 index 0000000..dd9bda9 --- /dev/null +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceAssignmentsServiceImpl.java @@ -0,0 +1,17 @@ +package com.fuyuanshen.equipment.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.fuyuanshen.equipment.domain.DeviceAssignments; +import com.fuyuanshen.equipment.mapper.DeviceAssignmentsMapper; +import com.fuyuanshen.equipment.service.DeviceAssignmentsService; +import org.springframework.stereotype.Service; + +/** +* @author 97433 +* @description 针对表【device_assignments】的数据库操作Service实现 +* @createDate 2025-06-19 18:19:13 +*/ +@Service +public class DeviceAssignmentsServiceImpl extends ServiceImpl implements DeviceAssignmentsService { + +} diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java index 7651077..2b21f4e 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java @@ -17,7 +17,9 @@ import com.fuyuanshen.customer.domain.Customer; import com.fuyuanshen.customer.mapper.CustomerMapper; import com.fuyuanshen.equipment.constants.DeviceConstants; import com.fuyuanshen.equipment.domain.Device; +import com.fuyuanshen.equipment.domain.DeviceAssignments; import com.fuyuanshen.equipment.domain.DeviceType; +import com.fuyuanshen.equipment.domain.DeviceTypeGrants; import com.fuyuanshen.equipment.domain.dto.AppDeviceBo; import com.fuyuanshen.equipment.domain.form.DeviceForm; import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria; @@ -26,9 +28,12 @@ import com.fuyuanshen.equipment.domain.vo.AppDeviceVo; import com.fuyuanshen.equipment.domain.vo.CustomerVo; import com.fuyuanshen.equipment.enums.BindingStatusEnum; import com.fuyuanshen.equipment.enums.CommunicationModeEnum; +import com.fuyuanshen.equipment.enums.DeviceActiveStatusEnum; import com.fuyuanshen.equipment.enums.DeviceStatusEnum; import com.fuyuanshen.equipment.mapper.DeviceMapper; +import com.fuyuanshen.equipment.mapper.DeviceTypeGrantsMapper; import com.fuyuanshen.equipment.mapper.DeviceTypeMapper; +import com.fuyuanshen.equipment.service.DeviceAssignmentsService; import com.fuyuanshen.equipment.service.DeviceService; import com.fuyuanshen.system.domain.vo.SysOssVo; import com.fuyuanshen.system.service.ISysOssService; @@ -42,6 +47,7 @@ import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.sql.Timestamp; +import java.time.LocalDateTime; import java.util.*; /** @@ -61,11 +67,13 @@ public class DeviceServiceImpl extends ServiceImpl impleme private final DeviceMapper deviceMapper; private final DeviceTypeMapper deviceTypeMapper; - private final CustomerMapper customerMapper; private final ISysOssService ossService; + private final DeviceAssignmentsService deviceAssignmentsService; + private final DeviceTypeGrantsMapper deviceTypeGrantsMapper; + /** * 分页查询设备 @@ -112,6 +120,43 @@ public class DeviceServiceImpl extends ServiceImpl impleme } + // /** + // * 新增设备 + // * + // * @param deviceForm + // * @throws Exception + // */ + // @Override + // @Transactional(rollbackFor = Exception.class) + // public void addDevice(DeviceForm deviceForm) throws Exception { + // DeviceTypeQueryCriteria queryCriteria = new DeviceTypeQueryCriteria(); + // queryCriteria.setDeviceTypeId(deviceForm.getDeviceType()); + // queryCriteria.setCustomerId(LoginHelper.getUserId()); + // List deviceTypes = deviceTypeMapper.findAll(queryCriteria); + // if (deviceTypes.isEmpty()) { + // throw new Exception("设备类型不存在!!!"); + // } + // + // // 保存图片并获取URL + // if (deviceForm.getFile() != null) { + // SysOssVo upload = ossService.upload(deviceForm.getFile()); + // // 设置图片路径 + // deviceForm.setDevicePic(upload.getUrl()); + // } + // + // // 转换对象并插入数据库 + // Device device = new Device(); + // LoginUser loginUser = LoginHelper.getLoginUser(); + // device.setCurrentOwnerId(loginUser.getUserId()); + // device.setOriginalOwnerId(loginUser.getUserId()); + // device.setCreateByName(loginUser.getNickname()); + // device.setTypeName(deviceTypes.get(0).getTypeName()); + // BeanUtil.copyProperties(deviceForm, device, true); + // + // deviceMapper.insert(device); + // + // } + /** * 新增设备 * @@ -124,13 +169,13 @@ public class DeviceServiceImpl extends ServiceImpl impleme DeviceTypeQueryCriteria queryCriteria = new DeviceTypeQueryCriteria(); queryCriteria.setDeviceTypeId(deviceForm.getDeviceType()); queryCriteria.setCustomerId(LoginHelper.getUserId()); - List deviceTypes = deviceTypeMapper.findAll(queryCriteria); - if (deviceTypes.isEmpty()) { + DeviceTypeGrants typeGrants = deviceTypeGrantsMapper.selectById(queryCriteria.getDeviceTypeId()); + DeviceType deviceTypes = deviceTypeMapper.selectById(typeGrants.getDeviceTypeId()); + if (deviceTypes== null) { throw new Exception("设备类型不存在!!!"); } // 保存图片并获取URL - // String imageUrl = saveDeviceImage(deviceForm.getFile(), deviceForm.getDeviceName()); if (deviceForm.getFile() != null) { SysOssVo upload = ossService.upload(deviceForm.getFile()); // 设置图片路径 @@ -143,11 +188,26 @@ public class DeviceServiceImpl extends ServiceImpl impleme device.setCurrentOwnerId(loginUser.getUserId()); device.setOriginalOwnerId(loginUser.getUserId()); device.setCreateByName(loginUser.getNickname()); - device.setTypeName(deviceTypes.get(0).getTypeName()); + device.setTypeName(deviceTypes.getTypeName()); + device.setDeviceType(deviceTypes.getId()); BeanUtil.copyProperties(deviceForm, device, true); deviceMapper.insert(device); + // 新增设备类型记录 + DeviceAssignments assignments = new DeviceAssignments(); + assignments.setDeviceId(device.getId()); + assignments.setAssignedAt(LocalDateTime.now()); + // 分配者 + assignments.setAssignerId(loginUser.getUserId()); + assignments.setAssignerName(loginUser.getUsername()); + // 接收者 + assignments.setAssigneeId(loginUser.getUserId()); + assignments.setActive(DeviceActiveStatusEnum.ACTIVE.getCode()); + String lever = loginUser.getUserId() + ":"; + assignments.setLever(lever); + deviceAssignmentsService.save(assignments); + } @@ -232,17 +292,20 @@ public class DeviceServiceImpl extends ServiceImpl impleme public void deleteAll(List ids) { List invalidIds = new ArrayList<>(); - for (Long id : ids) { - Device deviceType = deviceMapper.selectById(id); - if (deviceType == null || !Objects.equals(deviceType.getCurrentOwnerId(), LoginHelper.getUserId())) { - invalidIds.add(id); - } - } - if (!invalidIds.isEmpty()) { - throw new RuntimeException("以下设备无法删除(ID 不存在或无权限): " + invalidIds); - } - - deviceMapper.deleteByIds(ids); + deviceTypeGrantsMapper.deleteByIds(ids); + // + // for (Long id : ids) { + // + // Device deviceType = deviceMapper.selectById(id); + // if (deviceType == null || !Objects.equals(deviceType.getCurrentOwnerId(), LoginHelper.getUserId())) { + // invalidIds.add(id); + // } + // } + // if (!invalidIds.isEmpty()) { + // throw new RuntimeException("以下设备无法删除(ID 不存在或无权限): " + invalidIds); + // } + // + // deviceMapper.deleteByIds(ids); } diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceTypeServiceImpl.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceTypeServiceImpl.java index 6244f07..28bbced 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceTypeServiceImpl.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceTypeServiceImpl.java @@ -175,13 +175,20 @@ public class DeviceTypeServiceImpl extends ServiceImpl + + + + + + + + + + + + + + id,device_id,from_customer_id,to_customer_id,assigned_at,device_type_granted + + diff --git a/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml b/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml index 970f3e9..81b5ee2 100644 --- a/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml +++ b/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml @@ -37,7 +37,7 @@ - select d.* , t.type_name FROM device d LEFT JOIN device_type t ON d.device_type = t.id @@ -71,6 +71,44 @@ order by d.create_time desc + + + + +