Преглед изворни кода

优化会议模板和设备列表接口

fuyuchuan пре 2 дана
родитељ
комит
83572cf0b4

+ 7 - 7
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/controller/web/MeetingTemplateController.java

@@ -7,6 +7,7 @@ import com.usky.common.log.annotation.Log;
 import com.usky.common.log.enums.BusinessType;
 import com.usky.meeting.domain.MeetingTemplate;
 import com.usky.meeting.service.MeetingTemplateService;
+import com.usky.meeting.service.vo.MeetingTemplateRequestVO;
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -65,18 +66,17 @@ public class MeetingTemplateController {
      */
     @GetMapping("/templateList")
     public ApiResult<CommonPage<MeetingTemplate>> list(@RequestParam(defaultValue = "1") Integer pageNum,
-                                                             @RequestParam(defaultValue = "10") Integer pageSize,
-                                                             @RequestParam(required = false) String name,
-                                                             @RequestParam(required = false) Integer type,
-                                                             @RequestParam(required = false) String layout) {
+                                                       @RequestParam(defaultValue = "10") Integer pageSize,
+                                                       @RequestParam(required = false) String name,
+                                                       @RequestParam(required = false) Integer type,
+                                                       @RequestParam(required = false) String layout) {
         return ApiResult.success(meetingTemplateService.templateList(pageNum, pageSize, name, type, layout));
     }
 
     @PutMapping("/batchPublishing")
     @Log(title = "批量发布会议屏模板", businessType = BusinessType.UPDATE)
-    public ApiResult<Void> batchPublishing(@RequestParam Integer templateId,
-                                           @RequestParam(required = false) List<String> deviceCodes) {
-        meetingTemplateService.batchPublishing(templateId, deviceCodes);
+    public ApiResult<Void> batchPublishing(@RequestBody MeetingTemplateRequestVO requestVO) {
+        meetingTemplateService.batchPublishing(requestVO);
         return ApiResult.success();
     }
 }

+ 3 - 0
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/domain/MeetingDevice.java

@@ -150,4 +150,7 @@ public class MeetingDevice implements Serializable {
      * 模板id
      */
     private Integer templateId;
+
+    @TableField(exist = false)
+    private MeetingTemplate meetingTemplate;
 }

+ 2 - 3
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/MeetingTemplateService.java

@@ -3,6 +3,7 @@ package com.usky.meeting.service;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.meeting.domain.MeetingTemplate;
 import com.usky.common.mybatis.core.CrudService;
+import com.usky.meeting.service.vo.MeetingTemplateRequestVO;
 
 import java.util.List;
 
@@ -39,8 +40,6 @@ public interface MeetingTemplateService extends CrudService<MeetingTemplate> {
 
     /**
      * 批量发布
-     * @param templateId  模板ID
-     * @param deviceCodes  设备编号
      */
-    void batchPublishing(Integer templateId, List<String> deviceCodes);
+    void batchPublishing(MeetingTemplateRequestVO requestVO);
 }

+ 33 - 14
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingDeviceServiceImpl.java

@@ -14,10 +14,7 @@ import com.usky.common.core.util.UUIDUtils;
 import com.usky.common.security.utils.SecurityUtils;
 import com.usky.iot.RemoteIotTaskService;
 import com.usky.meeting.domain.*;
-import com.usky.meeting.mapper.EgDeviceMapper;
-import com.usky.meeting.mapper.MeetingDeviceHeartbeatMapper;
-import com.usky.meeting.mapper.MeetingDeviceMapper;
-import com.usky.meeting.mapper.MeetingRoomMapper;
+import com.usky.meeting.mapper.*;
 import com.usky.meeting.repository.MeetingRoomRepository;
 import com.usky.meeting.service.MeetingDeviceService;
 import com.usky.common.mybatis.core.AbstractCrudService;
@@ -60,6 +57,8 @@ public class MeetingDeviceServiceImpl extends AbstractCrudService<MeetingDeviceM
     private MeetingDeviceMapper deviceMapper;
     @Autowired
     private MeetingDeviceHeartbeatMapper heartbeatMapper;
+    @Autowired
+    private MeetingTemplateMapper meetingTemplateMapper;
 
     @Override
     public CommonPage<MeetingDevice> meetingDeviceList(MeetingDeviceRequestVO requestVO) {
@@ -102,8 +101,8 @@ public class MeetingDeviceServiceImpl extends AbstractCrudService<MeetingDeviceM
             queryWrapper1.like(EgDevice::getDeviceName, requestVO.getEgDeviceName()).eq(EgDevice::getTenantId, tenantId);
             egDeviceList = egDeviceMapper.selectList(queryWrapper1);
             if (CollectionUtils.isNotEmpty(egDeviceList)) {
-                for (int i = 0; i < egDeviceList.size(); i++) {
-                    egDeviceIdList.add(egDeviceList.get(i).getId());
+                for (EgDevice egDevice : egDeviceList) {
+                    egDeviceIdList.add(egDevice.getId());
                 }
             }
         } else {
@@ -123,15 +122,21 @@ public class MeetingDeviceServiceImpl extends AbstractCrudService<MeetingDeviceM
                 .eq(MeetingDevice::getTenantId, tenantId)
                 .orderByAsc(MeetingDevice::getDeviceUuid);
         page = this.page(page, queryWrapper3);
-        if (page.getRecords().size() > 0) {
+
+        LambdaQueryWrapper<MeetingTemplate> queryWrapper4 = Wrappers.lambdaQuery();
+        queryWrapper4.eq(MeetingTemplate::getTenantId, tenantId);
+        List<MeetingTemplate> meetingTemplateList = meetingTemplateMapper.selectList(queryWrapper4);
+
+
+        if (!page.getRecords().isEmpty()) {
 
             if (CollectionUtils.isNotEmpty(meetingRoomsList)) {
                 for (int i = 0; i < page.getRecords().size(); i++) {
                     if (Objects.nonNull(page.getRecords().get(i).getRoomId())) {
-                        Long RId = Long.valueOf(page.getRecords().get(i).getRoomId());
-                        for (int j = 0; j < meetingRoomsList.size(); j++) {
-                            if (RId.equals(meetingRoomsList.get(j).getRoomId())) {
-                                page.getRecords().get(i).setMeetingRoom(meetingRoomsList.get(j));
+                        Long RId = page.getRecords().get(i).getRoomId();
+                        for (MeetingRoom meetingRoom : meetingRoomsList) {
+                            if (RId.equals(meetingRoom.getRoomId())) {
+                                page.getRecords().get(i).setMeetingRoom(meetingRoom);
                                 break;
                             }
                         }
@@ -144,9 +149,9 @@ public class MeetingDeviceServiceImpl extends AbstractCrudService<MeetingDeviceM
                 for (int i = 0; i < page.getRecords().size(); i++) {
                     if (Objects.nonNull(page.getRecords().get(i).getEgDeviceId())) {
                         Integer egDeviceId = page.getRecords().get(i).getEgDeviceId();
-                        for (int j = 0; j < egDeviceList.size(); j++) {
-                            if (egDeviceId.equals(egDeviceList.get(j).getId())) {
-                                page.getRecords().get(i).setEgDevice(egDeviceList.get(j));
+                        for (EgDevice egDevice : egDeviceList) {
+                            if (egDeviceId.equals(egDevice.getId())) {
+                                page.getRecords().get(i).setEgDevice(egDevice);
                                 break;
                             }
                         }
@@ -154,6 +159,20 @@ public class MeetingDeviceServiceImpl extends AbstractCrudService<MeetingDeviceM
 
                 }
             }
+
+            if (CollectionUtils.isNotEmpty(meetingTemplateList)) {
+                for (int i = 0; i < page.getRecords().size(); i++) {
+                    if (Objects.nonNull(page.getRecords().get(i).getTemplateId())) {
+                        Integer templateId = page.getRecords().get(i).getTemplateId();
+                        for (MeetingTemplate meetingTemplate : meetingTemplateList) {
+                            if (templateId.equals(meetingTemplate.getId())) {
+                                page.getRecords().get(i).setMeetingTemplate(meetingTemplate);
+                                break;
+                            }
+                        }
+                    }
+                }
+            }
         }
 
         return new CommonPage<>(page.getRecords(), page.getTotal(), size, current);

+ 4 - 1
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingTemplateServiceImpl.java

@@ -11,6 +11,7 @@ import com.usky.meeting.mapper.MeetingDeviceMapper;
 import com.usky.meeting.mapper.MeetingTemplateMapper;
 import com.usky.meeting.service.MeetingTemplateService;
 import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.meeting.service.vo.MeetingTemplateRequestVO;
 import com.usky.system.domain.SysUserVO;
 import com.usky.system.model.LoginUser;
 import org.apache.commons.lang3.StringUtils;
@@ -104,7 +105,9 @@ public class MeetingTemplateServiceImpl extends AbstractCrudService<MeetingTempl
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void batchPublishing(Integer templateId, List<String> deviceCodes) {
+    public void batchPublishing(MeetingTemplateRequestVO requestVO) {
+        Integer templateId = requestVO.getTemplateId();
+        List<String> deviceCodes = requestVO.getDeviceCodes();
         if (templateId == null) {
             throw new BusinessException("模板ID不能为空!");
         }

+ 19 - 0
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/vo/MeetingTemplateRequestVO.java

@@ -0,0 +1,19 @@
+package com.usky.meeting.service.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ *
+ * @author fyc
+ * @email yuchuan.fu@chinausky.com
+ * @date 2025/11/20
+ */
+@Data
+public class MeetingTemplateRequestVO {
+
+    private Integer templateId;
+
+    private List<String> deviceCodes;
+}