diff --git a/fys-modules/fys-customer/src/main/java/com/fuyuanshen/customer/service/impl/CustomerServiceImpl.java b/fys-modules/fys-customer/src/main/java/com/fuyuanshen/customer/service/impl/CustomerServiceImpl.java index 5eb7705..b9225f4 100644 --- a/fys-modules/fys-customer/src/main/java/com/fuyuanshen/customer/service/impl/CustomerServiceImpl.java +++ b/fys-modules/fys-customer/src/main/java/com/fuyuanshen/customer/service/impl/CustomerServiceImpl.java @@ -57,6 +57,7 @@ public class CustomerServiceImpl extends ServiceImpl i */ @Override public List queryAllCustomers(UserQueryCriteria criteria) { + criteria.setPid(LoginHelper.getUserId()); List users = customerMapper.queryAllCustomers(criteria); return users; } diff --git a/fys-modules/fys-customer/src/main/resources/mapper/customer/CustomerMapper.xml b/fys-modules/fys-customer/src/main/resources/mapper/customer/CustomerMapper.xml index 98d2817..885753d 100644 --- a/fys-modules/fys-customer/src/main/resources/mapper/customer/CustomerMapper.xml +++ b/fys-modules/fys-customer/src/main/resources/mapper/customer/CustomerMapper.xml @@ -148,7 +148,6 @@ - @@ -187,16 +189,15 @@ 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 175a64a..8308068 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 @@ -133,9 +133,9 @@ public class DeviceController { // @Log("撤回设备") @Operation(summary = "撤回分配设备") @PostMapping(value = "/withdraw") - public ResponseVO withdrawDevice(@Validated @ModelAttribute DeviceForm deviceForm) { + public ResponseVO withdrawDevice(@RequestBody List ids) { try { - deviceService.withdrawDevice(deviceForm); + // deviceService.withdrawDevice(deviceForm); } catch (Exception e) { log.error("updateDevice error: " + e.getMessage()); return ResponseVO.fail("出错了"); diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceType.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceType.java index 66fdb0d..dc6d542 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceType.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceType.java @@ -27,6 +27,14 @@ public class DeviceType extends TenantEntity { @Schema(name = "创建该类型的客户") private Long ownerCustomerId; + /** + * 原始所有者(创建者) + * original_owner_id + */ + @Schema(name = "原始所有者(创建者)") + private Long originalOwnerId; + + @NotBlank(message = "设备类型名称不能为空") @Schema(name = "类型名称", required = true) private String typeName; diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/form/DeviceForm.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/form/DeviceForm.java index d1c7187..77713ed 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/form/DeviceForm.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/form/DeviceForm.java @@ -21,7 +21,7 @@ public class DeviceForm { private Long assignId; @Schema(title = "设备类型") - private Long deviceTypeId; + private Long deviceType; @Schema(title = "客户号") private Long customerId; diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/query/DeviceQueryCriteria.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/query/DeviceQueryCriteria.java index 8da135f..773a18b 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/query/DeviceQueryCriteria.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/query/DeviceQueryCriteria.java @@ -1,5 +1,6 @@ package com.fuyuanshen.equipment.domain.query; +import com.fuyuanshen.common.mybatis.core.domain.BaseEntity; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -15,7 +16,7 @@ import java.util.Set; * @Date: 2025/5/16 **/ @Data -public class DeviceQueryCriteria { +public class DeviceQueryCriteria extends BaseEntity { @Schema(name = "设备id") private Long deviceId; @@ -24,7 +25,7 @@ public class DeviceQueryCriteria { private String deviceName; @Schema(name = "设备类型") - private Long deviceTypeId; + private Long deviceType; @Schema(name = "设备MAC") private String deviceMac; @@ -43,9 +44,6 @@ public class DeviceQueryCriteria { @Schema(name = "设备状态 0 失效 1 正常 ") private Integer deviceStatus; - @Schema(name = "创建时间") - private List createTime; - @Schema(name = "页码", example = "1") private Integer page = 1; diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/mapper/DeviceMapper.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/mapper/DeviceMapper.java index c473541..be09e6e 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/mapper/DeviceMapper.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/mapper/DeviceMapper.java @@ -31,4 +31,11 @@ public interface DeviceMapper extends BaseMapper { List findAllDevices(@Param("criteria") DeviceQueryCriteria criteria); + /** + * 获取分配设备的客户 + * + * @param customerId + * @return + */ + Device getAssignCustomer(Long customerId); } 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 015d70c..f43c918 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 @@ -1,6 +1,7 @@ package com.fuyuanshen.equipment.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.lang.generator.SnowflakeGenerator; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -113,7 +114,7 @@ public class DeviceServiceImpl extends ServiceImpl impleme @Transactional(rollbackFor = Exception.class) public void addDevice(DeviceForm deviceForm) throws Exception { DeviceTypeQueryCriteria queryCriteria = new DeviceTypeQueryCriteria(); - queryCriteria.setDeviceTypeId(deviceForm.getId()); + queryCriteria.setDeviceTypeId(deviceForm.getDeviceType()); queryCriteria.setCustomerId(LoginHelper.getUserId()); List deviceTypes = deviceTypeMapper.findAll(queryCriteria); if (deviceTypes.isEmpty()) { @@ -152,7 +153,7 @@ public class DeviceServiceImpl extends ServiceImpl impleme public void update(DeviceForm deviceForm) throws Exception { DeviceTypeQueryCriteria deviceTypeQueryCriteria = new DeviceTypeQueryCriteria(); - deviceTypeQueryCriteria.setDeviceTypeId(deviceForm.getId()); + deviceTypeQueryCriteria.setDeviceTypeId(deviceForm.getDeviceType()); deviceTypeQueryCriteria.setCustomerId(LoginHelper.getUserId()); List deviceTypes = deviceTypeMapper.findAll(deviceTypeQueryCriteria); if (deviceTypes.isEmpty()) { @@ -258,6 +259,11 @@ public class DeviceServiceImpl extends ServiceImpl impleme invalidIds.add(id); continue; } + Device assignCustomer = deviceMapper.getAssignCustomer(device.getId()); + if (assignCustomer != null) { + invalidIds.add(id); + continue; + } device.setCustomerId(customerId); device.setCustomerName(customer.getNickName()); devices.add(device); @@ -268,14 +274,24 @@ public class DeviceServiceImpl extends ServiceImpl impleme } devices.forEach((device) -> { - deviceMapper.updateById(device); - device.setId(null); - device.setCurrentOwnerId(customerId); - deviceMapper.insert(device); - DeviceType deviceType = deviceTypeMapper.selectById(device.getDeviceType()); - deviceType.setId(null); + deviceMapper.updateById(device); device.setCurrentOwnerId(customerId); + if (device.getDeviceType() == null) { + throw new RuntimeException("设备类型有问题!!! "); + } + DeviceType deviceType = deviceTypeMapper.selectById(device.getDeviceType()); + SnowflakeGenerator snowflakeGenerator = new SnowflakeGenerator(); + device.setOriginalOwnerId(device.getId()); + Long next = snowflakeGenerator.next(); + device.setId(next); + device.setDeviceType(next); + + deviceType.setOriginalOwnerId(deviceType.getId()); + deviceType.setId(next); + deviceType.setOwnerCustomerId(customerId); + + deviceMapper.insert(device); deviceTypeMapper.insert(deviceType); }); 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 7c607d3..426cc6c 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 @@ -125,11 +125,11 @@ public class DeviceTypeServiceImpl extends ServiceImpl invalidId2 = new ArrayList<>(); for (Long id : ids) { DeviceType deviceType = deviceTypeMapper.selectById(id); - if (deviceType == null || !Objects.equals(deviceType.getCustomerId(), LoginHelper.getUserId())) { + if (deviceType == null || !Objects.equals(deviceType.getOwnerCustomerId(), LoginHelper.getUserId())) { invalidIds.add(id); } DeviceQueryCriteria deviceQueryCriteria = new DeviceQueryCriteria(); - deviceQueryCriteria.setDeviceTypeId(id); + deviceQueryCriteria.setDeviceType(id); List devices = deviceMapper.findAll(deviceQueryCriteria); if (!devices.isEmpty()) { invalidId2.add(id); 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 8879dae..695b102 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 @@ -38,7 +38,7 @@ + + + \ No newline at end of file