WEB:设备类型管理

This commit is contained in:
2025-07-03 16:58:08 +08:00
parent 4e83e3570a
commit 0271a84bc2
11 changed files with 58 additions and 32 deletions

View File

@ -49,9 +49,9 @@ spring:
driverClassName: com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
url: jdbc:mysql://localhost:3306/fys-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
url: jdbc:mysql://120.79.224.186:3366/fys-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
username: root
password: root
password: 1fys@QWER..
# # 从库数据源
# slave:
# lazy: true
@ -98,13 +98,13 @@ spring:
spring.data:
redis:
# 地址
host: 123.207.99.140
host: 120.79.224.186
# 端口默认为6379
port: 6379
port: 26379
# 数据库索引
database: 2
# redis 密码必须配置
password: ccxx11234
password: 1fys@QWER..
# 连接超时时间
timeout: 10s
# 是否开启ssl

View File

@ -38,6 +38,11 @@
<artifactId>fys-common-translation</artifactId>
</dependency>
<dependency>
<groupId>com.fuyuanshen</groupId>
<artifactId>fys-system</artifactId>
</dependency>
<!-- OSS功能模块 -->
<dependency>
<groupId>com.fuyuanshen</groupId>

View File

@ -5,12 +5,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fuyuanshen.common.core.constant.ResponseMessageConstants;
import com.fuyuanshen.common.core.domain.PageResult;
import com.fuyuanshen.common.core.domain.ResponseVO;
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
import com.fuyuanshen.equipment.domain.Device;
import com.fuyuanshen.equipment.domain.dto.ImportResult;
import com.fuyuanshen.equipment.domain.form.DeviceForm;
import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria;
import com.fuyuanshen.equipment.domain.vo.CustomerVo;
import com.fuyuanshen.equipment.service.DeviceService;
import com.fuyuanshen.system.domain.vo.SysOssVo;
import com.fuyuanshen.system.service.ISysOssService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
@ -37,21 +40,23 @@ import java.util.List;
@RequestMapping("/api/device")
public class DeviceController {
private final ISysOssService ossService;
private final DeviceService deviceService;
@Operation(summary = "分页查询设备列表", security = {@SecurityRequirement(name = "bearer-key")})
@GetMapping
public ResponseVO<PageResult<Device>> queryDevice(DeviceQueryCriteria criteria) {
Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
PageResult<Device> devices = null;
try {
devices = deviceService.queryAll(criteria, page);
} catch (IOException e) {
log.error("queryDevice error: " + e.getMessage());
return ResponseVO.fail("");
}
return ResponseVO.success(devices);
public TableDataInfo<Device> queryDevice(DeviceQueryCriteria criteria) throws IOException {
Page<Device> page = new Page<>(criteria.getPage(), criteria.getSize());
// PageResult<Device> devices = null;
// try {
// devices = deviceService.queryAll(criteria, page);
// } catch (IOException e) {
// log.error("queryDevice error: " + e.getMessage());
// return ResponseVO.fail("");
// }
// return ResponseVO.success(devices);
return deviceService.queryAll(criteria, page);
}
@ -159,6 +164,8 @@ public class DeviceController {
@PostMapping(value = "/import", consumes = "multipart/form-data")
public ResponseVO<ImportResult> importData(@Parameter(name = "文件", required = true) @RequestPart("file") MultipartFile file) {
SysOssVo upload = ossService.upload(file);
// String suffix = FileUtil.getExtensionName(file.getOriginalFilename());
// if (!("xlsx".equalsIgnoreCase(suffix))) {
// throw new BadRequestException("只能上传Excel——xlsx格式文件");

View File

@ -3,6 +3,7 @@ package com.fuyuanshen.equipment.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fuyuanshen.common.core.domain.PageResult;
import com.fuyuanshen.common.core.domain.ResponseVO;
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
import com.fuyuanshen.equipment.domain.DeviceType;
import com.fuyuanshen.equipment.domain.form.DeviceTypeForm;
import com.fuyuanshen.equipment.domain.query.DeviceTypeQueryCriteria;
@ -32,9 +33,9 @@ public class DeviceTypeController {
@GetMapping
@Operation(summary = "分页查询设备类型")
public ResponseVO<PageResult<DeviceType>> queryDeviceType(DeviceTypeQueryCriteria criteria) {
Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
return ResponseVO.success(deviceTypeService.queryAll(criteria, page));
public TableDataInfo<DeviceType> queryDeviceType(DeviceTypeQueryCriteria criteria) {
Page<DeviceType> page = new Page<>(criteria.getPage(), criteria.getSize());
return deviceTypeService.queryAll(criteria, page);
}

View File

@ -2,9 +2,7 @@ package com.fuyuanshen.equipment.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import com.fuyuanshen.common.tenant.core.TenantEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
@ -45,6 +43,10 @@ public class DeviceType extends TenantEntity {
@Schema(name = "通讯方式", example = "0:4G;1:蓝牙")
private String communicationMode;
/**
* 创建人名称
*/
private String createByName;
public void copy(DeviceType source) {
BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true));

View File

@ -25,7 +25,7 @@ public interface DeviceMapper extends BaseMapper<Device> {
* @param page
* @return
*/
IPage<Device> findAll(@Param("criteria") DeviceQueryCriteria criteria, Page<Object> page);
IPage<Device> findAll(@Param("criteria") DeviceQueryCriteria criteria, Page<Device> page);
List<Device> findAll(@Param("criteria") DeviceQueryCriteria criteria);

View File

@ -25,7 +25,7 @@ public interface DeviceTypeMapper extends BaseMapper<DeviceType> {
* @param page
* @return
*/
IPage<DeviceType> findAll(@Param("criteria") DeviceTypeQueryCriteria criteria, Page<Object> page);
IPage<DeviceType> findAll(@Param("criteria") DeviceTypeQueryCriteria criteria, Page<DeviceType> page);
/**

View File

@ -3,6 +3,7 @@ package com.fuyuanshen.equipment.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fuyuanshen.common.core.domain.PageResult;
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
import com.fuyuanshen.equipment.domain.Device;
import com.fuyuanshen.equipment.domain.form.DeviceForm;
import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria;
@ -25,7 +26,7 @@ public interface DeviceService extends IService<Device> {
* @param page 分页参数
* @return PageResult
*/
PageResult<Device> queryAll(DeviceQueryCriteria criteria, Page<Object> page) throws IOException;
TableDataInfo<Device> queryAll(DeviceQueryCriteria criteria, Page<Device> page) throws IOException;
/**
* 查询所有设备信息

View File

@ -3,6 +3,7 @@ package com.fuyuanshen.equipment.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fuyuanshen.common.core.domain.PageResult;
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
import com.fuyuanshen.equipment.domain.DeviceType;
import com.fuyuanshen.equipment.domain.form.DeviceTypeForm;
import com.fuyuanshen.equipment.domain.query.DeviceTypeQueryCriteria;
@ -23,7 +24,7 @@ public interface DeviceTypeService extends IService<DeviceType> {
* @param page 分页参数
* @return PageResult
*/
PageResult<DeviceType> queryAll(DeviceTypeQueryCriteria criteria, Page<Object> page);
TableDataInfo<DeviceType> queryAll(DeviceTypeQueryCriteria criteria, Page<DeviceType> page);
/**
* 查询所有数据不分页

View File

@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fuyuanshen.common.core.domain.PageResult;
import com.fuyuanshen.common.core.utils.PageUtil;
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
import com.fuyuanshen.common.satoken.utils.LoginHelper;
import com.fuyuanshen.customer.domain.vo.ConsumerVo;
import com.fuyuanshen.equipment.constants.DeviceConstants;
import com.fuyuanshen.equipment.domain.Device;
import com.fuyuanshen.equipment.domain.DeviceType;
@ -63,7 +65,7 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
* @throws IOException
*/
@Override
public PageResult<Device> queryAll(DeviceQueryCriteria criteria, Page<Object> page) throws IOException {
public TableDataInfo<Device> queryAll(DeviceQueryCriteria criteria, Page<Device> page) throws IOException {
// criteria.setCustomerId(LoginHelper.getUserId());
criteria.setCurrentOwnerId(LoginHelper.getUserId());
@ -76,7 +78,8 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
}
}
return PageUtil.toPage(devices);
// return PageUtil.toPage(devices);
return new TableDataInfo<Device>(records, devices.getTotal());
}

View File

@ -1,10 +1,13 @@
package com.fuyuanshen.equipment.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fuyuanshen.common.core.domain.PageResult;
import com.fuyuanshen.common.core.domain.model.LoginUser;
import com.fuyuanshen.common.core.utils.PageUtil;
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
import com.fuyuanshen.common.satoken.utils.LoginHelper;
import com.fuyuanshen.equipment.domain.Device;
import com.fuyuanshen.equipment.domain.DeviceType;
@ -43,9 +46,11 @@ public class DeviceTypeServiceImpl extends ServiceImpl<DeviceTypeMapper, DeviceT
* @return
*/
@Override
public PageResult<DeviceType> queryAll(DeviceTypeQueryCriteria criteria, Page<Object> page) {
public TableDataInfo<DeviceType> queryAll(DeviceTypeQueryCriteria criteria, Page<DeviceType> page) {
criteria.setCustomerId(LoginHelper.getUserId());
return PageUtil.toPage(deviceTypeMapper.findAll(criteria, page));
// return
IPage<DeviceType> deviceTypeIPage = deviceTypeMapper.findAll(criteria, page);
return new TableDataInfo<DeviceType>(deviceTypeIPage.getRecords(), deviceTypeIPage.getTotal());
}
@ -77,9 +82,10 @@ public class DeviceTypeServiceImpl extends ServiceImpl<DeviceTypeMapper, DeviceT
@Override
@Transactional(rollbackFor = Exception.class)
public void create(DeviceType resources) {
Long userId = LoginHelper.getUserId();
resources.setCustomerId(userId);
resources.setOwnerCustomerId(userId);
LoginUser loginUser = LoginHelper.getLoginUser();
resources.setCustomerId(loginUser.getUserId());
resources.setOwnerCustomerId(loginUser.getUserId());
resources.setCreateByName(loginUser.getNickname());
deviceTypeMapper.insert(resources);
}