From 9afc0222d5b05e65225d86102392fef44f24fc5f Mon Sep 17 00:00:00 2001 From: chenyouting <514333061@qq.com> Date: Tue, 30 Sep 2025 17:53:28 +0800 Subject: [PATCH] =?UTF-8?q?app=E6=89=B9=E9=87=8F=E4=B8=8A=E4=BC=A0logo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/AppDeviceBJQController.java | 23 +++++++++++++++++++ .../domain/dto/AppDeviceLogoUploadDto.java | 10 ++++++++ .../service/device/DeviceBJQBizService.java | 16 +++++++++++++ 3 files changed, 49 insertions(+) diff --git a/fys-admin/src/main/java/com/fuyuanshen/app/controller/device/AppDeviceBJQController.java b/fys-admin/src/main/java/com/fuyuanshen/app/controller/device/AppDeviceBJQController.java index 3cc71f8c..95d33231 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/app/controller/device/AppDeviceBJQController.java +++ b/fys-admin/src/main/java/com/fuyuanshen/app/controller/device/AppDeviceBJQController.java @@ -5,6 +5,7 @@ import com.fuyuanshen.app.domain.dto.AppDeviceLogoUploadDto; import com.fuyuanshen.app.domain.dto.DeviceInstructDto; import com.fuyuanshen.app.domain.vo.AppDeviceDetailVo; import com.fuyuanshen.common.core.domain.R; +import com.fuyuanshen.common.core.exception.ServiceException; import com.fuyuanshen.common.core.validate.AddGroup; import com.fuyuanshen.common.ratelimiter.annotation.FunctionAccessAnnotation; import com.fuyuanshen.common.ratelimiter.annotation.FunctionAccessBatcAnnotation; @@ -17,6 +18,8 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.util.List; + /** * BJQ6170设备控制类 */ @@ -82,6 +85,26 @@ public class AppDeviceBJQController extends BaseController { return R.ok(); } + /** + * 批量上传设备logo图片 + */ + @PostMapping("/batchUploadLogo") + @FunctionAccessAnnotation("batchUploadLogo") + public R batchUploadLogo(@Validated @ModelAttribute AppDeviceLogoUploadDto bo) { + + List files = bo.getFiles(); + if(files == null || files.isEmpty()){ + return R.warn("文件不能为空"); + } + MultipartFile file = files.get(0); + if(file.getSize()>1024*1024*2){ + throw new ServiceException("图片不能大于2M"); + } + appDeviceService.batchUploadLogo(bo); + + return R.ok(); + } + /** * 灯光模式 * 0(关灯),1(强光模式),2(弱光模式), 3(爆闪模式), 4(泛光模式) diff --git a/fys-admin/src/main/java/com/fuyuanshen/app/domain/dto/AppDeviceLogoUploadDto.java b/fys-admin/src/main/java/com/fuyuanshen/app/domain/dto/AppDeviceLogoUploadDto.java index 1841dadb..7f644f49 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/app/domain/dto/AppDeviceLogoUploadDto.java +++ b/fys-admin/src/main/java/com/fuyuanshen/app/domain/dto/AppDeviceLogoUploadDto.java @@ -3,6 +3,8 @@ package com.fuyuanshen.app.domain.dto; import lombok.Data; import org.springframework.web.multipart.MultipartFile; +import java.util.List; + @Data public class AppDeviceLogoUploadDto { @@ -14,5 +16,13 @@ public class AppDeviceLogoUploadDto { */ private MultipartFile file; + /** + * 文件 + */ + private List files; + + + private List deviceIds; + private Integer chunkSize; } diff --git a/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBJQBizService.java b/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBJQBizService.java index aec329a1..bc197d20 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBJQBizService.java +++ b/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBJQBizService.java @@ -15,6 +15,7 @@ import com.fuyuanshen.app.domain.vo.AppPersonnelInfoVo; import com.fuyuanshen.app.mapper.AppPersonnelInfoMapper; import com.fuyuanshen.app.mapper.AppPersonnelInfoRecordsMapper; import com.fuyuanshen.common.core.constant.GlobalConstants; +import com.fuyuanshen.common.core.domain.R; import com.fuyuanshen.common.core.exception.ServiceException; import com.fuyuanshen.common.core.utils.*; import com.fuyuanshen.common.redis.utils.RedisUtils; @@ -546,4 +547,19 @@ public class DeviceBJQBizService { String deviceOnlineStatusRedisKey = GlobalConstants.GLOBAL_REDIS_KEY+ DEVICE_KEY_PREFIX+ deviceImei + DeviceRedisKeyConstants.DEVICE_ONLINE_STATUS_KEY_PREFIX ; return RedisUtils.getCacheObject(deviceOnlineStatusRedisKey) == null; } + + public void batchUploadLogo(AppDeviceLogoUploadDto bo) { + + List deviceIds = bo.getDeviceIds(); + List files = bo.getFiles(); + if (deviceIds == null || deviceIds.isEmpty()) { + throw new ServiceException("请选择设备"); + } + for (int i = 0; i < deviceIds.size(); i++) { + AppDeviceLogoUploadDto dto = new AppDeviceLogoUploadDto(); + dto.setDeviceId(deviceIds.get(i)); + dto.setFile(files.get(i)); + uploadDeviceLogo(bo); + } + } }