From 3bce279d7b56b56e178762344d718b9ce9dc47a7 Mon Sep 17 00:00:00 2001 From: daiyongfei <974332738@qq.com> Date: Tue, 22 Jul 2025 09:58:49 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=A2=E6=88=B7-?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8D=E9=87=8D=E5=A4=8D=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CustomerServiceImpl.java | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) 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 ac996d4..10e1e7f 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 @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fuyuanshen.common.core.domain.model.LoginUser; +import com.fuyuanshen.common.core.utils.StringUtils; import com.fuyuanshen.common.mybatis.core.page.TableDataInfo; import com.fuyuanshen.common.satoken.utils.LoginHelper; import com.fuyuanshen.customer.constant.ArrayConstants; @@ -107,17 +108,27 @@ public class CustomerServiceImpl extends ServiceImpl i /** * 修改客户 * - * @param resources / + * @param customer / */ @Override @Transactional(rollbackFor = Exception.class) - public void updateCustomer(Customer resources) throws Exception { - if (resources.getEnabled()) { - resources.setStatus("0"); - } else { - resources.setStatus("1"); + public void updateCustomer(Customer customer) throws Exception { + + UserQueryCriteria userQueryCriteria = new UserQueryCriteria(); + if (StringUtils.isNotEmpty(customer.getUserName())) { + userQueryCriteria.setCustomerName(customer.getUserName()); + List customers = customerMapper.queryCustomers(userQueryCriteria); + if (!customers.isEmpty()) { + throw new BadRequestException("用户名已存在!!!"); + } } - saveOrUpdate(resources); + + if (customer.getEnabled()) { + customer.setStatus("0"); + } else { + customer.setStatus("1"); + } + saveOrUpdate(customer); } From 33e53de5a1fb438f8c6bef6a9fb496c10148a52b Mon Sep 17 00:00:00 2001 From: daiyongfei <974332738@qq.com> Date: Tue, 22 Jul 2025 16:13:39 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E4=B8=BB=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../customer/service/impl/CustomerServiceImpl.java | 1 + .../com/fuyuanshen/equipment/domain/Device.java | 14 +++++++++++++- .../equipment/service/impl/DeviceServiceImpl.java | 4 ++++ .../resources/mapper/equipment/DeviceMapper.xml | 2 +- 4 files changed, 19 insertions(+), 2 deletions(-) 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 10e1e7f..85cffbf 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 @@ -107,6 +107,7 @@ public class CustomerServiceImpl extends ServiceImpl i /** * 修改客户 + * 不是因为寂寞才想你,只是因为想你才寂寞。 * * @param customer / */ diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java index 9ec8bc1..52b05c9 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java @@ -105,7 +105,6 @@ public class Device extends TenantEntity { @Schema(name = "设备状态") private Integer deviceStatus; - /** * 绑定状态 * 0 未绑定 @@ -127,4 +126,17 @@ public class Device extends TenantEntity { private Date bindingTime; private String sendMsg; + + /** + * 发布主题(格式:A/{device_id}) + * pub_topic + */ + private String pubTopic; + + /** + * 订阅主题(格式:B/{device_id}) + * sub_topic + */ + private String subTopic; + } 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 5534d9d..60cbc58 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 @@ -186,6 +186,10 @@ public class DeviceServiceImpl extends ServiceImpl impleme device.setCreateByName(loginUser.getNickname()); device.setTypeName(deviceTypes.getTypeName()); device.setDeviceType(deviceTypes.getId()); + if (device.getDeviceImei() != null) { + device.setPubTopic("A/" + device.getDeviceImei()); + device.setSubTopic("B/" + device.getDeviceImei()); + } deviceMapper.insert(device); 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 06fe6bc..dc60b8b 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 @@ -39,7 +39,7 @@ - select - da.id AS id,d.device_name,d.bluetooth_name,d.pub_topic,d.sub_topic, - d.device_pic, d.device_mac, d.device_sn, d.update_by,d.device_imei, - d.update_time, dg.id AS device_type, d.remark, d.binding_status,t.type_name AS typeName, - da.assignee_id AS customerId, da.assignee_name AS customerName, da.active AS deviceStatus, - da.create_time AS create_time , da.assigner_name AS createByName , da.id AS assignId - from device d + SELECT * + FROM ( + SELECT + da.id AS id, d.device_name, d.bluetooth_name, + d.pub_topic, d.sub_topic, d.device_pic, + d.device_mac, d.device_sn, d.update_by, + d.device_imei, d.update_time, dg.id AS device_type, + d.remark, d.binding_status, t.type_name AS typeName, + da.assignee_id AS customerId, da.assignee_name AS customerName, + da.active AS deviceStatus, da.create_time AS create_time, + da.assigner_name AS createByName, da.id AS assignId, + ROW_NUMBER() OVER (PARTITION BY d.id ORDER BY da.create_time DESC) AS rn + FROM device d LEFT JOIN device_type t ON d.device_type = t.id LEFT JOIN device_type_grants dg ON dg.device_type_id = t.id LEFT JOIN device_assignments da ON da.device_id = d.id @@ -71,9 +77,12 @@ AND da.assignee_id = #{criteria.currentOwnerId} AND dg.customer_id = #{criteria.currentOwnerId} - ORDER BY da.create_time DESC + ) AS ranked + WHERE rn = 1 + ORDER BY create_time DESC +