From 69cd7bf47676027e3a2e39142004889a5d05602b Mon Sep 17 00:00:00 2001 From: zhangzq Date: Tue, 24 Feb 2026 15:27:56 +0800 Subject: [PATCH] =?UTF-8?q?add:=E8=AE=BE=E5=A4=87=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/controller/DeviceController.java | 59 ---- .../device/service/dto/DeviceInfo.java | 43 --- .../controller/BaseDataDeviceController.java | 102 ++++++ .../module/device/entity/BaseDataDevice.java | 65 ++++ .../device/mapper/BaseDataDeviceMapper.java | 13 + .../device/service/BaseDataDeviceService.java | 11 + .../impl/BaseDataDeviceServiceImpl.java | 15 + .../point/PointStatusController.java | 4 +- .../point/dto/PointStatus.java | 2 +- .../main/java/org/nl/common/util/MapOf.java | 20 -- .../modular/file/util/DevFileLocalUtil.java | 4 +- nl-vue/src/api/baseData/deviceApi.js | 25 ++ nl-vue/src/views/nl_base_data/device/form.vue | 315 ++++++++++++++++++ .../src/views/nl_base_data/device/index.vue | 223 +++++++++++++ nl-web-app/src/main/resources/application.yml | 6 +- 15 files changed, 778 insertions(+), 129 deletions(-) delete mode 100644 nl-base-data/src/main/java/org/nl/modular/device/controller/DeviceController.java delete mode 100644 nl-base-data/src/main/java/org/nl/modular/device/service/dto/DeviceInfo.java create mode 100644 nl-base-data/src/main/java/org/nl/module/device/controller/BaseDataDeviceController.java create mode 100644 nl-base-data/src/main/java/org/nl/module/device/entity/BaseDataDevice.java create mode 100644 nl-base-data/src/main/java/org/nl/module/device/mapper/BaseDataDeviceMapper.java create mode 100644 nl-base-data/src/main/java/org/nl/module/device/service/BaseDataDeviceService.java create mode 100644 nl-base-data/src/main/java/org/nl/module/device/service/impl/BaseDataDeviceServiceImpl.java rename nl-base-data/src/main/java/org/nl/{modular => module}/point/PointStatusController.java (96%) rename nl-base-data/src/main/java/org/nl/{modular => module}/point/dto/PointStatus.java (93%) create mode 100644 nl-vue/src/api/baseData/deviceApi.js create mode 100644 nl-vue/src/views/nl_base_data/device/form.vue create mode 100644 nl-vue/src/views/nl_base_data/device/index.vue diff --git a/nl-base-data/src/main/java/org/nl/modular/device/controller/DeviceController.java b/nl-base-data/src/main/java/org/nl/modular/device/controller/DeviceController.java deleted file mode 100644 index 3b8e861..0000000 --- a/nl-base-data/src/main/java/org/nl/modular/device/controller/DeviceController.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright [2022] [https://www.xiaonuo.vip] - * - * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: - * - * 1.请不要删除和修改根目录下的LICENSE文件。 - * 2.请不要删除和修改Snowy源码头部的版权声明。 - * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 - * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip - * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 - * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip - */ -package org.nl.modular.device.controller; - - -import cn.dev33.satoken.annotation.SaIgnore; -import com.alibaba.fastjson.JSONObject; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.nl.common.pojo.CommonResult; -import org.nl.modular.device.service.dto.DeviceInfo; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.ArrayList; -import java.util.List; - -@Tag(name = "设备模块") -@RestController() -@RequestMapping("/api/device") -@Validated -@SaIgnore -public class DeviceController { - static { - System.out.println("初始化AGV模块------------"); - } - @GetMapping("list") - public CommonResult status() { - List list = new ArrayList<>(); - JSONObject object = new JSONObject(); - object.put("action","action"); - object.put("signal","signal"); - object.put("power","power"); - for (int i = 0; i < 20; i++) { - DeviceInfo build = DeviceInfo.builder() - .name("设备1"+i) - .code(i + "sdfsdf") - .id(String.valueOf(i)) - .icon("/Users/mima0000/Desktop/car.png") - .description("设备介绍") - .editParam(object) - .type(i%2==1?"货架":"专机") - .build(); - list.add(build); - } - return CommonResult.data(list); - } -} diff --git a/nl-base-data/src/main/java/org/nl/modular/device/service/dto/DeviceInfo.java b/nl-base-data/src/main/java/org/nl/modular/device/service/dto/DeviceInfo.java deleted file mode 100644 index a5a969b..0000000 --- a/nl-base-data/src/main/java/org/nl/modular/device/service/dto/DeviceInfo.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.nl.modular.device.service.dto; - -import com.alibaba.fastjson.JSONObject; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class DeviceInfo { - /** - * 设备Id - */ - private String id; - /** - * 设备Id - */ - private String code; - /** - * 车辆类型 - */ - private String name; - /** - * 设备描述 - */ - private String description; - /** - * 设备类型 - */ - private String type; - /** - * 设备编辑时存储信息 - */ - private JSONObject editParam; - /** - * 设备图标 - */ - private String icon="/Users/mima0000/Desktop/car.png"; - -} diff --git a/nl-base-data/src/main/java/org/nl/module/device/controller/BaseDataDeviceController.java b/nl-base-data/src/main/java/org/nl/module/device/controller/BaseDataDeviceController.java new file mode 100644 index 0000000..9ca98ec --- /dev/null +++ b/nl-base-data/src/main/java/org/nl/module/device/controller/BaseDataDeviceController.java @@ -0,0 +1,102 @@ +/* + * Copyright [2022] [https://www.xiaonuo.vip] + * + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +package org.nl.module.device.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.lang3.StringUtils; +import org.nl.common.pojo.CommonResult; +import org.nl.module.device.entity.BaseDataDevice; +import org.nl.module.device.service.BaseDataDeviceService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * 设备信息表Controller + */ +@Tag(name = "设备信息管理") +@RestController +@RequestMapping("/api/baseData/device") +@Validated +public class BaseDataDeviceController { + + @Autowired + private BaseDataDeviceService baseDataDeviceService; + + /** + * 获取设备列表 + */ + @Operation(summary = "获取设备列表") + @GetMapping("/list") + public CommonResult list(@RequestParam(required = false) String searchKey, + @RequestParam(required = false) String region, + @RequestParam(defaultValue = "1") Integer current, + @RequestParam(defaultValue = "10") Integer size) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + // 关键词搜索(设备名称或编码) + if (StringUtils.isNotBlank(searchKey)) { + queryWrapper.and(wrapper -> wrapper + .like(BaseDataDevice::getName, searchKey) + .or() + .like(BaseDataDevice::getCode, searchKey) + ); + } + + // 区域搜索 + if (StringUtils.isNotBlank(region)) { + queryWrapper.like(BaseDataDevice::getRegion, region); + } + + // 按创建时间倒序 + queryWrapper.orderByDesc(BaseDataDevice::getCreateTime); + + Page page = new Page<>(current, size); + Page result = baseDataDeviceService.page(page, queryWrapper); + + return CommonResult.data(result); + } + + /** + * 新增设备信息 + */ + @Operation(summary = "新增设备信息") + @PostMapping("/add") + public CommonResult add(@RequestBody BaseDataDevice device) { + baseDataDeviceService.save(device); + return CommonResult.ok(); + } + + /** + * 修改设备信息 + */ + @Operation(summary = "修改设备信息") + @PostMapping("/edit") + public CommonResult edit(@RequestBody BaseDataDevice device) { + baseDataDeviceService.updateById(device); + return CommonResult.ok(); + } + + /** + * 删除设备信息 + */ + @Operation(summary = "删除设备信息") + @PostMapping("/delete") + public CommonResult delete(@RequestParam Integer id) { + baseDataDeviceService.removeById(id); + return CommonResult.ok(); + } +} diff --git a/nl-base-data/src/main/java/org/nl/module/device/entity/BaseDataDevice.java b/nl-base-data/src/main/java/org/nl/module/device/entity/BaseDataDevice.java new file mode 100644 index 0000000..f63e025 --- /dev/null +++ b/nl-base-data/src/main/java/org/nl/module/device/entity/BaseDataDevice.java @@ -0,0 +1,65 @@ +package org.nl.module.device.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.Date; + +/** + * 设备信息表实体类 + */ +@Data +@TableName("base_data_device") +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Schema(description = "设备信息表") +public class BaseDataDevice implements Serializable { + + @TableId(type = IdType.AUTO) + @Schema(description = "主键ID") + private Integer id; + + @Schema(description = "编码") + private String code; + + @Schema(description = "设备名称") + private String name; + + @Schema(description = "所属区域") + private String region; + + @Schema(description = "x坐标") + private Integer x; + + @Schema(description = "y坐标") + private Integer y; + + @Schema(description = "角度") + private Integer angle; + + @Schema(description = "放大比例") + private Integer size; + + @Schema(description = "图标地址") + private String icon; + + @Schema(description = "创建时间") + private Date createTime; + + @Schema(description = "创建用户") + private String createName; + + @Schema(description = "修改时间") + private Date updateTime; + + @Schema(description = "修改用户") + private String updateName; +} diff --git a/nl-base-data/src/main/java/org/nl/module/device/mapper/BaseDataDeviceMapper.java b/nl-base-data/src/main/java/org/nl/module/device/mapper/BaseDataDeviceMapper.java new file mode 100644 index 0000000..13e96ca --- /dev/null +++ b/nl-base-data/src/main/java/org/nl/module/device/mapper/BaseDataDeviceMapper.java @@ -0,0 +1,13 @@ +package org.nl.module.device.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.nl.module.device.entity.BaseDataDevice; + +/** + * 设备信息表Mapper + */ +@Mapper +public interface BaseDataDeviceMapper extends BaseMapper { + +} diff --git a/nl-base-data/src/main/java/org/nl/module/device/service/BaseDataDeviceService.java b/nl-base-data/src/main/java/org/nl/module/device/service/BaseDataDeviceService.java new file mode 100644 index 0000000..1565d8b --- /dev/null +++ b/nl-base-data/src/main/java/org/nl/module/device/service/BaseDataDeviceService.java @@ -0,0 +1,11 @@ +package org.nl.module.device.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.module.device.entity.BaseDataDevice; + +/** + * 设备信息表Service接口 + */ +public interface BaseDataDeviceService extends IService { + +} diff --git a/nl-base-data/src/main/java/org/nl/module/device/service/impl/BaseDataDeviceServiceImpl.java b/nl-base-data/src/main/java/org/nl/module/device/service/impl/BaseDataDeviceServiceImpl.java new file mode 100644 index 0000000..79e4286 --- /dev/null +++ b/nl-base-data/src/main/java/org/nl/module/device/service/impl/BaseDataDeviceServiceImpl.java @@ -0,0 +1,15 @@ +package org.nl.module.device.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.nl.module.device.entity.BaseDataDevice; +import org.nl.module.device.mapper.BaseDataDeviceMapper; +import org.nl.module.device.service.BaseDataDeviceService; +import org.springframework.stereotype.Service; + +/** + * 设备信息表Service实现类 + */ +@Service +public class BaseDataDeviceServiceImpl extends ServiceImpl implements BaseDataDeviceService { + +} diff --git a/nl-base-data/src/main/java/org/nl/modular/point/PointStatusController.java b/nl-base-data/src/main/java/org/nl/module/point/PointStatusController.java similarity index 96% rename from nl-base-data/src/main/java/org/nl/modular/point/PointStatusController.java rename to nl-base-data/src/main/java/org/nl/module/point/PointStatusController.java index 5420673..bdfcb89 100644 --- a/nl-base-data/src/main/java/org/nl/modular/point/PointStatusController.java +++ b/nl-base-data/src/main/java/org/nl/module/point/PointStatusController.java @@ -10,13 +10,13 @@ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip */ -package org.nl.modular.point; +package org.nl.module.point; import cn.dev33.satoken.annotation.SaIgnore; import io.swagger.v3.oas.annotations.tags.Tag; import org.nl.common.pojo.CommonResult; -import org.nl.modular.point.dto.PointStatus; +import org.nl.module.point.dto.PointStatus; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/nl-base-data/src/main/java/org/nl/modular/point/dto/PointStatus.java b/nl-base-data/src/main/java/org/nl/module/point/dto/PointStatus.java similarity index 93% rename from nl-base-data/src/main/java/org/nl/modular/point/dto/PointStatus.java rename to nl-base-data/src/main/java/org/nl/module/point/dto/PointStatus.java index 6a72d6f..9fbfddc 100644 --- a/nl-base-data/src/main/java/org/nl/modular/point/dto/PointStatus.java +++ b/nl-base-data/src/main/java/org/nl/module/point/dto/PointStatus.java @@ -1,4 +1,4 @@ -package org.nl.modular.point.dto; +package org.nl.module.point.dto; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/nl-common/src/main/java/org/nl/common/util/MapOf.java b/nl-common/src/main/java/org/nl/common/util/MapOf.java index 06b86b1..e69de29 100644 --- a/nl-common/src/main/java/org/nl/common/util/MapOf.java +++ b/nl-common/src/main/java/org/nl/common/util/MapOf.java @@ -1,20 +0,0 @@ -package org.nl.common.util; - - -import java.io.Serializable; -import java.util.HashMap; - -/* - * @author ZZQ - * @Date 2022/11/29 2:55 下午 - */ -public class MapOf implements Serializable { - - public static HashMap of(K... key) { - HashMap map = new HashMap<>(); - for (int i = 0; i < (key.length & ~1); i = i + 2) { - map.put(key[i], key[i + 1]); - } - return map; - } -} diff --git a/nl-plugin/nl-plugin-dev/src/main/java/org/nl/dev/modular/file/util/DevFileLocalUtil.java b/nl-plugin/nl-plugin-dev/src/main/java/org/nl/dev/modular/file/util/DevFileLocalUtil.java index abf5b1f..294a62a 100644 --- a/nl-plugin/nl-plugin-dev/src/main/java/org/nl/dev/modular/file/util/DevFileLocalUtil.java +++ b/nl-plugin/nl-plugin-dev/src/main/java/org/nl/dev/modular/file/util/DevFileLocalUtil.java @@ -214,7 +214,9 @@ public class DevFileLocalUtil { */ public static void storageFile(String bucketName, String key, InputStream inputStream) { initClient(); - FileUtil.writeFromStream(inputStream, getUploadFileFolder() + FileUtil.FILE_SEPARATOR + bucketName + FileUtil.FILE_SEPARATOR + key); + String path = getUploadFileFolder() + FileUtil.FILE_SEPARATOR + bucketName + FileUtil.FILE_SEPARATOR + key; + System.out.println("=--filepath--="+path); + FileUtil.writeFromStream(inputStream, path); } /** diff --git a/nl-vue/src/api/baseData/deviceApi.js b/nl-vue/src/api/baseData/deviceApi.js new file mode 100644 index 0000000..628f7a7 --- /dev/null +++ b/nl-vue/src/api/baseData/deviceApi.js @@ -0,0 +1,25 @@ +/** + * 设备管理API + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/api/baseData/device/` + url, ...arg) + +export default { + // 获取设备列表 + list(data) { + return request('list', data, 'get') + }, + // 新增设备信息 + add(data) { + return request('add', data) + }, + // 修改设备信息 + edit(data) { + return request('edit', data) + }, + // 删除设备信息 + delete(data) { + return request('delete', data, 'post') + } +} diff --git a/nl-vue/src/views/nl_base_data/device/form.vue b/nl-vue/src/views/nl_base_data/device/form.vue new file mode 100644 index 0000000..724677c --- /dev/null +++ b/nl-vue/src/views/nl_base_data/device/form.vue @@ -0,0 +1,315 @@ + + + + + diff --git a/nl-vue/src/views/nl_base_data/device/index.vue b/nl-vue/src/views/nl_base_data/device/index.vue new file mode 100644 index 0000000..a6f3332 --- /dev/null +++ b/nl-vue/src/views/nl_base_data/device/index.vue @@ -0,0 +1,223 @@ + + + diff --git a/nl-web-app/src/main/resources/application.yml b/nl-web-app/src/main/resources/application.yml index 775e295..bb82c0d 100644 --- a/nl-web-app/src/main/resources/application.yml +++ b/nl-web-app/src/main/resources/application.yml @@ -1,5 +1,5 @@ server: - port: 82 + port: 8081 spring: main: allow-circular-references: true @@ -12,9 +12,9 @@ spring: datasource: master: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:3306/acs3.0?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useInformationSchema=true&rewriteBatchedStatements=true + url: jdbc:mysql://192.168.81.251:3306/acs3.0?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useInformationSchema=true&rewriteBatchedStatements=true username: root - password: "123456" + password: "P@ssw0rd." strict: true public-key: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMWiTVtdXFVrgFHDDKELZM0SywkWY3KjugN90eY5Sogon1j8Y0ClPF7nx3FuE7pAeBKiv7ChIS0vvx/59WUpKmUCAwEAAQ== druid: