1
0

app设备类型查询

This commit is contained in:
2025-07-09 13:41:08 +08:00
parent f41bb097fd
commit 908ca6753e
13 changed files with 116 additions and 13 deletions

View File

@ -1,5 +1,8 @@
package com.fuyuanshen.app.controller; package com.fuyuanshen.app.controller;
import com.fuyuanshen.app.domain.dto.APPReNameDTO;
import com.fuyuanshen.app.domain.vo.APPDeviceTypeVo;
import com.fuyuanshen.app.service.equipment.APPDeviceService;
import com.fuyuanshen.common.core.domain.R; import com.fuyuanshen.common.core.domain.R;
import com.fuyuanshen.common.mybatis.core.page.PageQuery; import com.fuyuanshen.common.mybatis.core.page.PageQuery;
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo; import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
@ -9,10 +12,11 @@ import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria;
import com.fuyuanshen.equipment.domain.vo.AppDeviceVo; import com.fuyuanshen.equipment.domain.vo.AppDeviceVo;
import com.fuyuanshen.equipment.service.DeviceService; import com.fuyuanshen.equipment.service.DeviceService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.ibatis.annotations.Delete;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* APP 设备信息管理 * APP 设备信息管理
*/ */
@ -24,6 +28,9 @@ public class AppDeviceController extends BaseController {
private final DeviceService deviceService; private final DeviceService deviceService;
private final APPDeviceService appDeviceService;
/** /**
* 查询文件列表 * 查询文件列表
*/ */
@ -45,8 +52,28 @@ public class AppDeviceController extends BaseController {
/** /**
* 解绑设备 * 解绑设备
*/ */
@Delete("/unBind") @DeleteMapping("/unBind")
public R<Void> unBind(Long id) { public R<Void> unBind(Long id) {
return toAjax(deviceService.unBindDevice(id)); return toAjax(deviceService.unBindDevice(id));
} }
/**
* 查询设备类型列表
*/
@GetMapping(value = "/typeList")
public R<List<APPDeviceTypeVo>> getTypeList() {
List<APPDeviceTypeVo> typeList = appDeviceService.getTypeList();
return R.ok(typeList);
}
/**
* 重命名设备
* @param reNameDTO
* @return
*/
@PostMapping(value = "/reName")
public R<String> reName(@Validated @RequestBody APPReNameDTO reNameDTO) {
appDeviceService.reName(reNameDTO);
return R.ok("重命名成功!!!");
}
} }

View File

@ -37,8 +37,7 @@ public class APPDeviceController {
public TableDataInfo<APPDevice> appDeviceList(@RequestBody APPDeviceQueryCriteria criteria) { public TableDataInfo<APPDevice> appDeviceList(@RequestBody APPDeviceQueryCriteria criteria) {
Page<APPDevice> page = new Page<>(criteria.getPage(), criteria.getSize()); Page<APPDevice> page = new Page<>(criteria.getPage(), criteria.getSize());
TableDataInfo<APPDevice> devices = appDeviceService.appDeviceList(page, criteria); return appDeviceService.appDeviceList(page, criteria);
return devices;
} }
@ -69,11 +68,12 @@ public class APPDeviceController {
@PostMapping(value = "/unbind") @PostMapping(value = "/unbind")
@Operation(summary = "WEB端APP客户设备解绑") @Operation(summary = "设备解绑")
public ResponseVO<String> unbindAPPDevice(@Validated @ModelAttribute APPUnbindDTO deviceForm) { public ResponseVO<String> unbindAPPDevice(@Validated @ModelAttribute APPUnbindDTO deviceForm) {
appDeviceService.unbindAPPDevice(deviceForm); appDeviceService.unbindAPPDevice(deviceForm);
return ResponseVO.success("解绑成功!!!"); return ResponseVO.success("解绑成功!!!");
} }
} }

View File

@ -0,0 +1,21 @@
package com.fuyuanshen.app.domain.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* @author: 默苍璃
* @date: 2025-06-1818:36
*/
@Data
public class APPReNameDTO {
private Long id;
@NotBlank(message = "设备名称不能为空")
private String deviceName;
}

View File

@ -0,0 +1,15 @@
package com.fuyuanshen.app.domain.vo;
import lombok.Data;
@Data
public class APPDeviceTypeVo {
private Long id;
private String typeName;
private String communicationMode;
}

View File

@ -4,10 +4,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fuyuanshen.app.domain.APPDevice; import com.fuyuanshen.app.domain.APPDevice;
import com.fuyuanshen.app.domain.APPDeviceType;
import com.fuyuanshen.app.domain.query.APPDeviceQueryCriteria; import com.fuyuanshen.app.domain.query.APPDeviceQueryCriteria;
import com.fuyuanshen.app.domain.vo.APPDeviceTypeVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* @Description: * @Description:
* @Author: WY * @Author: WY
@ -36,4 +40,5 @@ public interface APPDeviceMapper extends BaseMapper<APPDevice> {
IPage<APPDevice> queryAll(Page<APPDevice> page, @Param("criteria") APPDeviceQueryCriteria criteria); IPage<APPDevice> queryAll(Page<APPDevice> page, @Param("criteria") APPDeviceQueryCriteria criteria);
List<APPDeviceTypeVo> getTypeList(@Param("userId") Long userId);
} }

View File

@ -4,9 +4,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.fuyuanshen.app.domain.APPDevice; import com.fuyuanshen.app.domain.APPDevice;
import com.fuyuanshen.app.domain.APPDeviceType; import com.fuyuanshen.app.domain.APPDeviceType;
import com.fuyuanshen.app.domain.dto.APPReNameDTO;
import com.fuyuanshen.app.domain.dto.APPUnbindDTO; import com.fuyuanshen.app.domain.dto.APPUnbindDTO;
import com.fuyuanshen.app.domain.query.APPDeviceQueryCriteria; import com.fuyuanshen.app.domain.query.APPDeviceQueryCriteria;
import com.fuyuanshen.common.core.domain.PageResult; import com.fuyuanshen.app.domain.vo.APPDeviceTypeVo;
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo; import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
import java.util.List; import java.util.List;
@ -58,4 +59,7 @@ public interface APPDeviceService extends IService<APPDevice> {
void unbindAPPDevice(APPUnbindDTO deviceForm); void unbindAPPDevice(APPUnbindDTO deviceForm);
List<APPDeviceTypeVo> getTypeList();
void reName(APPReNameDTO reNameDTO);
} }

View File

@ -3,20 +3,23 @@ package com.fuyuanshen.app.service.impl.equipment;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fuyuanshen.app.domain.APPDevice; import com.fuyuanshen.app.domain.APPDevice;
import com.fuyuanshen.app.domain.APPDeviceType; import com.fuyuanshen.app.domain.APPDeviceType;
import com.fuyuanshen.app.domain.dto.APPReNameDTO;
import com.fuyuanshen.app.domain.dto.APPUnbindDTO; import com.fuyuanshen.app.domain.dto.APPUnbindDTO;
import com.fuyuanshen.app.domain.query.APPDeviceQueryCriteria; import com.fuyuanshen.app.domain.query.APPDeviceQueryCriteria;
import com.fuyuanshen.app.domain.vo.APPDeviceTypeVo;
import com.fuyuanshen.app.enums.UserType; import com.fuyuanshen.app.enums.UserType;
import com.fuyuanshen.app.mapper.equipment.APPDeviceMapper; import com.fuyuanshen.app.mapper.equipment.APPDeviceMapper;
import com.fuyuanshen.app.mapper.equipment.AppDeviceTypeMapper; import com.fuyuanshen.app.mapper.equipment.AppDeviceTypeMapper;
import com.fuyuanshen.app.service.equipment.APPDeviceService; import com.fuyuanshen.app.service.equipment.APPDeviceService;
import com.fuyuanshen.common.core.domain.PageResult;
import com.fuyuanshen.common.core.exception.BadRequestException; import com.fuyuanshen.common.core.exception.BadRequestException;
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo; import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
import com.fuyuanshen.common.satoken.utils.AppLoginHelper;
import com.fuyuanshen.common.satoken.utils.LoginHelper; import com.fuyuanshen.common.satoken.utils.LoginHelper;
import com.fuyuanshen.equipment.domain.Device; import com.fuyuanshen.equipment.domain.Device;
import com.fuyuanshen.equipment.domain.DeviceType; import com.fuyuanshen.equipment.domain.DeviceType;
@ -32,7 +35,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* @Description: * @Description:
@ -192,5 +194,20 @@ public class APPDeviceServiceImpl extends ServiceImpl<APPDeviceMapper, APPDevice
} }
@Override
public List<APPDeviceTypeVo> getTypeList() {
Long userId = AppLoginHelper.getUserId();
return appDeviceMapper.getTypeList(userId);
}
@Override
public void reName(APPReNameDTO reNameDTO) {
UpdateWrapper<Device> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id", reNameDTO.getId())
.eq("binding_user_id", AppLoginHelper.getUserId())
.set("device_name", reNameDTO.getDeviceName());
deviceMapper.update(updateWrapper);
}
} }

View File

@ -87,5 +87,10 @@
order by d.create_time desc order by d.create_time desc
</select> </select>
<select id="getTypeList" resultType="com.fuyuanshen.app.domain.vo.APPDeviceTypeVo">
SELECT dt.id, dt.type_name, dt.communication_mode FROM device_type dt
WHERE EXISTS(select 1 from device d where d.device_type = dt.id and d.binding_user_id = #{userId} AND d.binding_status = 1 )
</select>
</mapper> </mapper>

View File

@ -107,4 +107,5 @@ public class Device extends TenantEntity {
*/ */
private String createByName; private String createByName;
private Long bindingUserId;
} }

View File

@ -27,4 +27,9 @@ public class AppDeviceVo {
* 通讯方式 0:4G;1:蓝牙 * 通讯方式 0:4G;1:蓝牙
*/ */
private Integer communicationMode; private Integer communicationMode;
/**
* 设备图片
*/
private String devicePic;
} }

View File

@ -90,4 +90,5 @@ public interface DeviceService extends IService<Device> {
int bindDevice(AppDeviceBo bo); int bindDevice(AppDeviceBo bo);
int unBindDevice(Long id); int unBindDevice(Long id);
} }

View File

@ -496,7 +496,7 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
deviceUpdateWrapper.eq("id", device.getId()) deviceUpdateWrapper.eq("id", device.getId())
.set("binding_status", BindingStatusEnum.BOUND.getCode()) .set("binding_status", BindingStatusEnum.BOUND.getCode())
.set("binding_user_id",userId); .set("binding_user_id",userId);
return baseMapper.update(null, qw); return baseMapper.update(null, deviceUpdateWrapper);
}else{ }else{
throw new RuntimeException("通讯方式错误"); throw new RuntimeException("通讯方式错误");
} }
@ -509,11 +509,10 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
if(device == null){ if(device == null){
throw new RuntimeException("请先将设备入库!!!"); throw new RuntimeException("请先将设备入库!!!");
} }
// DeviceType deviceType = deviceTypeMapper.selectById(device.getDeviceType());
// String mode = deviceType.getCommunicationMode();
UpdateWrapper<Device> deviceUpdateWrapper = new UpdateWrapper<>(); UpdateWrapper<Device> deviceUpdateWrapper = new UpdateWrapper<>();
deviceUpdateWrapper.eq("id", device.getId()) deviceUpdateWrapper.eq("id", device.getId())
.set("binding_status", BindingStatusEnum.UNBOUND.getCode()); .set("binding_status", BindingStatusEnum.UNBOUND.getCode());
return baseMapper.update(null, deviceUpdateWrapper); return baseMapper.update(null, deviceUpdateWrapper);
} }

View File

@ -96,9 +96,12 @@
<select id="queryAppDeviceList" resultType="com.fuyuanshen.equipment.domain.vo.AppDeviceVo"> <select id="queryAppDeviceList" resultType="com.fuyuanshen.equipment.domain.vo.AppDeviceVo">
select select
d.id, d.device_name, d.device_mac, d.device_sn, d.id, d.device_name, d.device_mac, d.device_sn,
d.device_imei, d.device_mac ,dt.communication_mode d.device_imei, d.device_mac ,dt.communication_mode,d.device_pic
from device d inner join device_type dt on d.device_type = dt.id from device d inner join device_type dt on d.device_type = dt.id
where d.binding_user_id = #{criteria.bindingUserId} where d.binding_user_id = #{criteria.bindingUserId} and d.binding_status = 1
<if test="criteria.deviceType != null">
and d.device_type = #{criteria.deviceType}
</if>
</select> </select>
<!-- 获取分配设备的客户 --> <!-- 获取分配设备的客户 -->