新增设备

This commit is contained in:
2025-07-02 15:29:09 +08:00
parent 4220428f92
commit 2a81385554
5 changed files with 26 additions and 28 deletions

View File

@ -21,7 +21,7 @@ public class DeviceForm {
private Long assignId; private Long assignId;
@Schema(title = "设备类型") @Schema(title = "设备类型")
private Long deviceType; private Long deviceTypeId;
@Schema(title = "客户号") @Schema(title = "客户号")
private Long customerId; private Long customerId;

View File

@ -15,6 +15,9 @@ import java.util.Set;
@Data @Data
public class DeviceTypeQueryCriteria extends BaseEntity implements Serializable { public class DeviceTypeQueryCriteria extends BaseEntity implements Serializable {
@Schema(name = "设备类型id")
private Long deviceTypeId;
@Schema(name = "型号名称") @Schema(name = "型号名称")
private String typeName; private String typeName;

View File

@ -9,10 +9,13 @@ import com.fuyuanshen.common.core.utils.PageUtil;
import com.fuyuanshen.common.satoken.utils.LoginHelper; import com.fuyuanshen.common.satoken.utils.LoginHelper;
import com.fuyuanshen.equipment.constants.DeviceConstants; import com.fuyuanshen.equipment.constants.DeviceConstants;
import com.fuyuanshen.equipment.domain.Device; import com.fuyuanshen.equipment.domain.Device;
import com.fuyuanshen.equipment.domain.DeviceType;
import com.fuyuanshen.equipment.domain.form.DeviceForm; import com.fuyuanshen.equipment.domain.form.DeviceForm;
import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria; import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria;
import com.fuyuanshen.equipment.domain.query.DeviceTypeQueryCriteria;
import com.fuyuanshen.equipment.domain.vo.CustomerVo; import com.fuyuanshen.equipment.domain.vo.CustomerVo;
import com.fuyuanshen.equipment.mapper.DeviceMapper; import com.fuyuanshen.equipment.mapper.DeviceMapper;
import com.fuyuanshen.equipment.mapper.DeviceTypeMapper;
import com.fuyuanshen.equipment.service.DeviceService; import com.fuyuanshen.equipment.service.DeviceService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -43,6 +46,7 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
private final DeviceMapper deviceMapper; private final DeviceMapper deviceMapper;
private final DeviceTypeMapper deviceTypeMapper;
/** /**
@ -56,7 +60,8 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
@Override @Override
public PageResult<Device> queryAll(DeviceQueryCriteria criteria, Page<Object> page) throws IOException { public PageResult<Device> queryAll(DeviceQueryCriteria criteria, Page<Object> page) throws IOException {
criteria.setCustomerId(LoginHelper.getUserId()); // criteria.setCustomerId(LoginHelper.getUserId());
criteria.setCurrentOwnerId(LoginHelper.getUserId());
IPage<Device> devices = deviceMapper.findAll(criteria, page); IPage<Device> devices = deviceMapper.findAll(criteria, page);
List<Device> records = devices.getRecords(); List<Device> records = devices.getRecords();
@ -91,10 +96,13 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void addDevice(DeviceForm deviceForm) throws Exception { public void addDevice(DeviceForm deviceForm) throws Exception {
DeviceTypeQueryCriteria queryCriteria = new DeviceTypeQueryCriteria();
// 获取当前登录用户信息 queryCriteria.setDeviceTypeId(deviceForm.getId());
// LoginUser user = LoginHelper.getLoginUser(); queryCriteria.setCustomerId(LoginHelper.getUserId());
List<DeviceType> deviceTypes = deviceTypeMapper.findAll(queryCriteria);
if (deviceTypes.isEmpty()) {
throw new Exception("设备类型不存在!!!");
}
// 保存图片并获取URL // 保存图片并获取URL
String imageUrl = saveDeviceImage(deviceForm.getFile(), deviceForm.getDeviceName()); String imageUrl = saveDeviceImage(deviceForm.getFile(), deviceForm.getDeviceName());
@ -103,6 +111,7 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
// 转换对象并插入数据库 // 转换对象并插入数据库
Device device = new Device(); Device device = new Device();
device.setCurrentOwnerId(LoginHelper.getUserId());
BeanUtil.copyProperties(deviceForm, device, true); BeanUtil.copyProperties(deviceForm, device, true);
deviceMapper.insert(device); deviceMapper.insert(device);
@ -110,8 +119,6 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
} }
/** /**
* 更新设备信息 * 更新设备信息
* *
@ -216,6 +223,4 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
} }
} }

View File

@ -42,11 +42,8 @@
d.id,d.device_name, d.id,d.device_name,
d.device_pic, d.device_mac, d.device_sn, d.update_by,d.device_imei, d.device_pic, d.device_mac, d.device_sn, d.update_by,d.device_imei,
d.update_time, d.device_type, d.remark, d.binding_status,t.type_name d.update_time, d.device_type, d.remark, d.binding_status,t.type_name
-- da.assignee_id AS customerId, da.assignee_name AS customerName, da.active AS deviceStatus, FROM device d
-- da.assigned_at AS create_time , da.assigner_name AS create_by , da.id AS assignId
from device d
LEFT JOIN device_type t ON d.device_type = t.id LEFT JOIN device_type t ON d.device_type = t.id
-- LEFT JOIN device_assignments da ON da.device_id = d.id
<where> <where>
<!-- 时间范围等其他条件保持原样 --> <!-- 时间范围等其他条件保持原样 -->
<if test="criteria.deviceName != null and criteria.deviceName.trim() != ''"> <if test="criteria.deviceName != null and criteria.deviceName.trim() != ''">
@ -62,28 +59,18 @@
and d.device_type = #{criteria.deviceType} and d.device_type = #{criteria.deviceType}
</if> </if>
<if test="criteria.deviceStatus != null"> <if test="criteria.deviceStatus != null">
-- and da.active = #{criteria.deviceStatus} -- and da.active = #{criteria.deviceStatus}
</if>
<if test="criteria.currentOwnerId != null">
d.current_owner_id = #{criteria.currentOwnerId}
</if> </if>
<if test="criteria.createTime != null and criteria.createTime.size() != 0"> <if test="criteria.createTime != null and criteria.createTime.size() != 0">
and d.create_time between #{criteria.createTime[0]} and #{criteria.createTime[1]} and d.create_time between #{criteria.createTime[0]} and #{criteria.createTime[1]}
</if> </if>
<if test="criteria.tenantId != null"> <if test="criteria.tenantId != null">
AND tenant_id = #{criteria.tenantId} AND tenant_id = #{criteria.tenantId}
</if> </if>
<!-- 下面这两个条件只需满足一个 -->
<!-- <if test="criteria.customerId != null"> -->
<!-- AND ( -->
<!-- tenant_id = #{criteria.tenantId} -->
<!-- OR d.customer_id = #{criteria.customerId} -->
<!-- ) -->
<!-- </if> -->
<!-- <if test="criteria.customerId == null"> -->
<!-- AND tenant_id = #{criteria.tenantId} -->
<!-- </if> -->
</where> </where>
-- ORDER BY create_time DESC
</select> </select>
<select id="findAll1" resultType="com.fuyuanshen.equipment.domain.Device"> <select id="findAll1" resultType="com.fuyuanshen.equipment.domain.Device">

View File

@ -28,6 +28,9 @@
<if test="criteria.typeName != null and criteria.typeName.trim() != ''"> <if test="criteria.typeName != null and criteria.typeName.trim() != ''">
and dt.type_name like concat('%', TRIM(#{criteria.typeName}), '%') and dt.type_name like concat('%', TRIM(#{criteria.typeName}), '%')
</if> </if>
<if test="criteria.deviceTypeId != null">
and dt.id = #{criteria.deviceTypeId}
</if>
<if test="criteria.customerId != null"> <if test="criteria.customerId != null">
and dt.owner_customer_id = #{criteria.customerId} and dt.owner_customer_id = #{criteria.customerId}
</if> </if>