Browse Source

Merge branch 'server-165' of uskycloud/usky-modules into master

gez 8 tháng trước cách đây
mục cha
commit
49c4b317bd
20 tập tin đã thay đổi với 279 bổ sung36 xóa
  1. 20 0
      service-iot/service-iot-api/src/main/java/com/usky/iot/RemoteIotTaskService.java
  2. 45 0
      service-iot/service-iot-api/src/main/java/com/usky/iot/factory/RemoteIotTaskFactory.java
  3. 37 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/api/ServiceIotTaskApi.java
  4. 1 1
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/PmProjectController.java
  5. 13 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/PmWorkReportController.java
  6. 16 16
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/TaskController.java
  7. 6 2
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/PmProject.java
  8. 1 3
      service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/PmWorkContentMapper.java
  9. 21 1
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/config/DingTalkAndMessage.java
  10. 4 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseAlarmServiceImpl.java
  11. 4 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/CrmCustomInfoServiceImpl.java
  12. 43 3
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/PmProjectServiceImpl.java
  13. 14 2
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/PmWorkContentServiceImpl.java
  14. 4 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/job/DmpDataOverviewJob.java
  15. 19 0
      service-job/src/main/java/com/ruoyi/job/task/RyTask.java
  16. 3 3
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/controller/web/MeetingRoomController.java
  17. 3 0
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/repository/MeetingRoomRepository.java
  18. 1 1
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/MeetingRoomService.java
  19. 19 4
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingRoomServiceImpl.java
  20. 5 0
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/vo/MeetingRoomReservationVO.java

+ 20 - 0
service-iot/service-iot-api/src/main/java/com/usky/iot/RemoteIotTaskService.java

@@ -0,0 +1,20 @@
+package com.usky.iot;
+
+
+import com.usky.iot.factory.RemoteIotTaskFactory;
+import com.usky.iot.factory.RemotePmFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+
+@FeignClient(contextId = "RemoteIotTaskService", value = "service-iot" , fallbackFactory = RemoteIotTaskFactory.class)
+public interface RemoteIotTaskService {
+
+    @GetMapping("/dataOverviewJobData")
+    void dataOverviewJobData();
+
+    @GetMapping("/baseAlarmStatus")
+    void baseAlarmStatus();
+
+    @GetMapping("/customInfoStatus")
+    void customInfoStatus();
+}

+ 45 - 0
service-iot/service-iot-api/src/main/java/com/usky/iot/factory/RemoteIotTaskFactory.java

@@ -0,0 +1,45 @@
+package com.usky.iot.factory;
+
+import com.usky.common.core.exception.FeignBadRequestException;
+import com.usky.iot.RemoteIotTaskService;
+import com.usky.iot.RemotePmService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+
+/**
+ * 用户服务降级处理
+ *
+ * @author ruoyi
+ */
+@Component
+public class RemoteIotTaskFactory implements FallbackFactory<RemoteIotTaskService>
+{
+    private static final Logger log = LoggerFactory.getLogger(RemoteIotTaskFactory.class);
+
+    @Override
+    public RemoteIotTaskService create(Throwable throwable)
+    {
+        log.error("用户服务调用失败:{}", throwable.getMessage());
+        return new RemoteIotTaskService()
+        {
+            @Override
+            public void dataOverviewJobData() {
+                throw new FeignBadRequestException(500,"数据概览数据定时生成异常"+throwable.getMessage());
+            }
+
+            @Override
+            public void baseAlarmStatus() {
+                throw new FeignBadRequestException(500,"定时同步设备状态和设备告警数据异常"+throwable.getMessage());
+            }
+
+            @Override
+            public void customInfoStatus() {
+                throw new FeignBadRequestException(500,"定时同步客户信息状态异常"+throwable.getMessage());
+            }
+
+        };
+    }
+}

+ 37 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/api/ServiceIotTaskApi.java

@@ -0,0 +1,37 @@
+package com.usky.iot.controller.api;
+
+import com.usky.iot.RemoteIotTaskService;
+import com.usky.iot.service.BaseAlarmService;
+import com.usky.iot.service.CrmCustomInfoService;
+import com.usky.iot.service.job.DmpDataOverviewJob;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class ServiceIotTaskApi implements RemoteIotTaskService {
+
+    @Autowired
+    private DmpDataOverviewJob dmpDataOverviewJob;
+
+    @Autowired
+    private BaseAlarmService baseAlarmService;
+
+    @Autowired
+    private CrmCustomInfoService crmCustomInfoService;
+
+    @Override
+    public void dataOverviewJobData () {
+        dmpDataOverviewJob.execute();
+    }
+
+    @Override
+    public void baseAlarmStatus() {
+        baseAlarmService.status();
+    }
+
+    @Override
+    public void customInfoStatus() {
+        crmCustomInfoService.updateStatus();
+    }
+}

+ 1 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/PmProjectController.java

@@ -43,7 +43,7 @@ public class PmProjectController {
     }
 
     /**
-     * 分页
+     * 项目列表分页
      *
      * @param projectName
      * @param projectType

+ 13 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/PmWorkReportController.java

@@ -5,6 +5,7 @@ import com.aliyuncs.exceptions.ClientException;
 import com.usky.common.core.bean.ApiResult;
 import com.usky.iot.domain.PmWorkReport;
 import com.usky.iot.service.PmWorkReportService;
+import com.usky.iot.service.config.DingTalkAndMessage;
 import com.usky.iot.service.vo.PmProjectTotalWorkTimeVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -24,9 +25,13 @@ import java.util.Map;
 @RestController
 @RequestMapping("/pmWorkReport")
 public class PmWorkReportController {
+
     @Autowired
     private PmWorkReportService pmWorkReportService;
 
+    @Autowired
+    private DingTalkAndMessage dingTalkAndMessage;
+
     /**
      * 周工作报告查询
      *
@@ -52,6 +57,14 @@ public class PmWorkReportController {
         pmWorkReportService.addReport(pmWorkReport);
     }
 
+    /**
+     * 上传文件
+     */
+/*    @GetMapping("/uploadFiles")
+    public void uploadFiles(){
+        dingTalkAndMessage.uploadFiles();
+    }*/
+
     /**
      * 统计工时
      *

+ 16 - 16
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/TaskController.java

@@ -37,21 +37,21 @@ public class TaskController implements ApplicationContextAware {
         context = applicationContext;
     }
 
-    @Scheduled(cron = "0 30 23 * * ? ") //每天23点30分执行
-    public void task() {
-        System.out.println(Thread.currentThread().getName() + "定时任务执行中");
-        dmpDataOverviewJob.execute();
-    }
-    @Scheduled(cron = "0 0 23 * * ? ") //每天23点执行
-    public void task1() {
-        System.out.println(Thread.currentThread().getName() + "定时任务执行中");
-        baseAlarmService.status();
-    }
-
-    @Scheduled(cron = "0 30 * * * ? ") //每天凌晨0点30分执行
-    public void task2() {
-        System.out.println(Thread.currentThread().getName() + "定时任务执行中");
-        crmCustomInfoService.updateStatus();
-    }
+//    @Scheduled(cron = "0 30 23 * * ? ") //每天23点30分执行
+//    public void task() {
+//        System.out.println(Thread.currentThread().getName() + "定时任务执行中");
+//        dmpDataOverviewJob.execute();
+//    }
+//    @Scheduled(cron = "0 0 23 * * ? ") //每天23点执行
+//    public void task1() {
+//        System.out.println(Thread.currentThread().getName() + "定时任务执行中");
+//        baseAlarmService.status();
+//    }
+//
+//    @Scheduled(cron = "0 30 * * * ? ") //每天凌晨0点30分执行
+//    public void task2() {
+//        System.out.println(Thread.currentThread().getName() + "定时任务执行中");
+//        crmCustomInfoService.updateStatus();
+//    }
 
 }

+ 6 - 2
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/PmProject.java

@@ -2,6 +2,7 @@ package com.usky.iot.domain;
 
 import java.math.BigDecimal;
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
@@ -108,6 +109,9 @@ public class PmProject implements Serializable {
      */
     private Integer delFlag;
 
-
-
+    /**
+     * 提交次数
+     */
+    @TableField(exist = false)
+    private Long submissions;
 }

+ 1 - 3
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/PmWorkContentMapper.java

@@ -7,6 +7,7 @@ import com.usky.iot.service.vo.WorkHoursStatisticsVO;
 import com.usky.iot.service.vo.WorkTimeExportVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import java.time.LocalDate;
 import java.time.LocalDateTime;
@@ -35,10 +36,7 @@ public interface PmWorkContentMapper extends CrudMapper<PmWorkContent> {
     /**
      * 人员查询时增加部门隔离,项目维度不需要
      *
-     * @param startTime
-     * @param endTime
      * @param userId
-     * @param tenantId
      * @return
      */
 /*

+ 21 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/config/DingTalkAndMessage.java

@@ -7,12 +7,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.dingtalk.api.DefaultDingTalkClient;
 import com.dingtalk.api.DingTalkClient;
+import com.dingtalk.api.request.OapiMediaUploadRequest;
 import com.dingtalk.api.request.OapiReportCreateRequest;
 import com.dingtalk.api.request.OapiV2UserGetbymobileRequest;
+import com.dingtalk.api.response.OapiMediaUploadResponse;
 import com.dingtalk.api.response.OapiReportCreateResponse;
 import com.dingtalk.api.response.OapiV2UserGetbymobileResponse;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.taobao.api.ApiException;
+import com.taobao.api.FileItem;
 import com.usky.common.core.bean.ApiResult;
 import com.usky.common.security.utils.SecurityUtils;
 import com.usky.iot.constant.dingTalkConstant;
@@ -216,7 +220,7 @@ public class DingTalkAndMessage {
                     long number = Long.parseLong(item.trim());
                     userIds.add(number);
                 }
-                    for (Long userId : userIds) {
+                for (Long userId : userIds) {
                     String dingTalkUserId = getDingTalkUserId(userId);
                     ccTo.add(dingTalkUserId);
                 }
@@ -338,5 +342,21 @@ public class DingTalkAndMessage {
         }
         log.info(username + "的工作报告发送消息中心完成-----------------------------------");
     }
+
+/*    @Async("asyncServiceExecutor")
+    public void uploadFiles() {
+        log.info("开始上传文件-----------------------------------");
+        try {
+            DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/media/upload");
+            OapiMediaUploadRequest req = new OapiMediaUploadRequest();
+            req.setType("image");
+            req.setMedia(new FileItem("E:/usky/Beckham.png"));
+            OapiMediaUploadResponse rsp = client.execute(req, "0d7b9367a43935fc8b85bc29bd80ac15");
+            System.out.println(rsp.getBody());
+        } catch (ApiException e) {
+            e.printStackTrace();
+        }
+    log.info("上传文件完成-----------------------------------");
+    }*/
 }
 

+ 4 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseAlarmServiceImpl.java

@@ -23,6 +23,7 @@ import com.usky.iot.service.config.websocket.WebSocket;
 import com.usky.iot.service.vo.BaseAlarmListVO;
 import com.usky.iot.service.vo.BaseAlarmRequestVO;
 import com.usky.iot.service.vo.BaseAlarmResponeVO;
+import lombok.extern.slf4j.Slf4j;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -47,6 +48,7 @@ import java.util.stream.Collectors;
  * @author han
  * @since 2023-07-13
  */
+@Slf4j
 @Service
 public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, BaseAlarm> implements BaseAlarmService {
 
@@ -618,6 +620,7 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
 
     @Override
     public void status(){
+        log.info("定时同步设备状态和设备告警数据 start");
         ApiResult<List<StatusVO>> resultList = dataQueryClient.status();
         List<StatusVO> list = resultList.getData();
         if(CollectionUtils.isNotEmpty(list)){
@@ -701,6 +704,7 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
             }
 
         }
+        log.info("定时同步设备状态和设备告警数据 end");
     }
 
     @Override

+ 4 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/CrmCustomInfoServiceImpl.java

@@ -17,6 +17,7 @@ import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.iot.service.vo.CrmCustomInfoExportVO;
 import com.usky.iot.service.vo.CrmCustomInfoRequestVO;
 import com.usky.iot.service.vo.CrmCustomInfoStatisticVO;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -32,6 +33,7 @@ import java.util.*;
  * @author han
  * @since 2023-06-26
  */
+@Slf4j
 @Service
 public class CrmCustomInfoServiceImpl extends AbstractCrudService<CrmCustomInfoMapper, CrmCustomInfo> implements CrmCustomInfoService {
 
@@ -177,6 +179,7 @@ public class CrmCustomInfoServiceImpl extends AbstractCrudService<CrmCustomInfoM
 
     @Override
     public void updateStatus(){
+        log.info("同步客户信息状态 start");
         LambdaQueryWrapper<CrmCustomInfo> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(CrmCustomInfo::getDeleteFlag,0);
         List<CrmCustomInfo> list = this.list(queryWrapper);
@@ -196,6 +199,7 @@ public class CrmCustomInfoServiceImpl extends AbstractCrudService<CrmCustomInfoM
                 }
             }
         }
+        log.info("同步客户信息状态 end");
 
     }
 

+ 43 - 3
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/PmProjectServiceImpl.java

@@ -118,23 +118,59 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
     }
 
     /**
-     * 添加工作报告下拉框
+     * 添加工作报告项目下拉框
      * 查询当前租户所有项目
      *
      * @return 只返回项目id和名称
      */
     @Override
     public List<PmProject> queryProject() {
+        Integer tenantId = SecurityUtils.getTenantId();
+        Long userId = SecurityUtils.getUserId();
         LambdaQueryWrapper<PmProject> wrapper = Wrappers.lambdaQuery();
         wrapper.select(PmProject::getId, PmProject::getProjectName)
-                .eq(PmProject::getTenantId, SecurityUtils.getTenantId())
+                .eq(PmProject::getTenantId, tenantId)
                 .eq(PmProject::getDelFlag, 0)
                 .and(qw -> qw
-                        .eq(PmProject::getProjectHead, SecurityUtils.getUserId())
+                        .eq(PmProject::getProjectHead, userId)
                         .or().apply("FIND_IN_SET('" + SecurityUtils.getUserId() + "', project_member) > 0")
                 )
                 .in(PmProject::getProjectStatus, 1, 2, 3);
         List<PmProject> list = this.list(wrapper);
+        if (list.isEmpty()){
+            return list;
+        }
+
+        List<Integer> projectIds = list.stream().map(PmProject::getId).collect(Collectors.toList());
+        LambdaQueryWrapper<PmWorkContent> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.select(PmWorkContent::getProjectId)
+                .eq(PmWorkContent::getSubmitterId, userId)
+                .in(PmWorkContent::getProjectId, projectIds)
+                .between(PmWorkContent::getCreateTime, LocalDateTime.now().minusDays(29), LocalDateTime.now());
+        List<PmWorkContent> pmWorkContents = pmWorkContentMapper.selectList(queryWrapper);
+        if (pmWorkContents.isEmpty()){
+            for (PmProject project : list){
+                project.setSubmissions(0L);
+            }
+            return list;
+        }
+
+        Map<Integer, Long> projectIdCountMap = pmWorkContents.stream()
+                .collect(Collectors.groupingBy(PmWorkContent::getProjectId, Collectors.counting()));
+
+        for (PmProject project : list) {
+            Integer id = project.getId();
+            Long aLong = projectIdCountMap.getOrDefault(id,0L);
+            project.setSubmissions(aLong);
+        }
+        //降序排序
+        Collections.sort(list, new Comparator<PmProject>() {
+            @Override
+            public int compare(PmProject p1, PmProject p2) {
+                return Long.compare(p2.getSubmissions(), p1.getSubmissions());
+            }
+        });
+
         return list;
     }
 
@@ -189,6 +225,10 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
             lambdaQuery.eq(PmProject::getProjectStatus, projectStatus);
         }
         lambdaQuery.orderByDesc(PmProject::getCreateTime);
+        List<PmProject> pmProjects = pmProjectMapper.selectList(lambdaQuery);
+        if (pmProjects.isEmpty()){
+            return new CommonPage<>(pmProjects, 0, pageSize, pageNum);
+        }
 
         // 替换创建人和更新人名字(username→nickname)
         LambdaQueryWrapper<SysUser> query = Wrappers.lambdaQuery();

+ 14 - 2
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/PmWorkContentServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.datascope.annotation.DataScope;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.common.core.domain.R;
 import com.usky.common.core.exception.BusinessException;
@@ -429,6 +430,7 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
         LocalDate start = null;
         LocalDate end = null;
         List<Integer> reportIds = new ArrayList<>();
+        CommonPage<PmWorkReport> returnPage = new CommonPage<>(new ArrayList<>(), 0, pageSize, pageNum);
         if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)) {
             DateTimeFormatter formatter = null;
             try {
@@ -451,7 +453,10 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
             reportIds.addAll(pmWorkContentMapper.selectList(contentLambdaQuery).stream().map(PmWorkContent::getReportId).collect(Collectors.toList()));
         }
 
-        CommonPage<PmWorkReport> returnPage = new CommonPage<>(new ArrayList<>(), 0, pageSize, pageNum);
+        if (reportIds.isEmpty()){
+            return returnPage;
+        }
+
         List<PmWorkContent> pmWorkContentList = new ArrayList<>();
         // Integer tenantId = SecurityUtils.getTenantId();
         Long userId = SecurityUtils.getUserId();
@@ -671,6 +676,13 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
         return pmWorkReportList.stream().map(PmWorkReport::getId).collect(Collectors.toList());
     }
 
+    /**
+     * @description: 项目查询
+     * @author: fu
+     * @date: 2024/8/8 19:22
+     * @param: [startDate, endDate]
+     * @return: java.util.List<java.lang.Integer>
+     **/
     private List<PmProject> projects(Integer projectId) {
         Integer tenantId = SecurityUtils.getTenantId();
         Long deptId = SecurityUtils.getLoginUser().getSysUser().getDeptId();
@@ -748,7 +760,7 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
         List<ProjectWorkTimeVO> projectWorkTime = new ArrayList<>();
         List<UserWorkTimeVO> userWorkTimeVO = new ArrayList<>();
         List<Object> returnList = new ArrayList<>();
-        if (StringUtils.isBlank(startDate) && StringUtils.isBlank(endDate)) {
+        if (StringUtils.isBlank(startDate) || StringUtils.isBlank(endDate)) {
             throw new BusinessException("请设置查询时间范围!");
         }
 

+ 4 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/job/DmpDataOverviewJob.java

@@ -12,12 +12,14 @@ import com.usky.iot.domain.DmpDataOverview;
 import com.usky.iot.mapper.DmpDeviceStatusMapper;
 import com.usky.iot.service.DmpDataOverviewService;
 import com.usky.iot.service.vo.DmpDataOverviewVO;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
 import java.util.stream.Collectors;
 
+@Slf4j
 @Service
 public class DmpDataOverviewJob {
 
@@ -29,7 +31,9 @@ public class DmpDataOverviewJob {
     private DmpDataOverviewService dmpDataOverviewService;
 
     public void execute(){
+        log.info("定时生成数据概览数据 start");
         deviceCount();
+        log.info("定时生成数据概览数据 end");
     }
 
     /**

+ 19 - 0
service-job/src/main/java/com/ruoyi/job/task/RyTask.java

@@ -2,6 +2,7 @@ package com.ruoyi.job.task;
 
 import com.usky.common.core.utils.StringUtils;
 import com.usky.fire.RemoteFireService;
+import com.usky.iot.RemoteIotTaskService;
 import com.usky.iot.RemotePmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -19,6 +20,9 @@ public class RyTask {
     @Autowired
     private RemotePmService remotePmService;
 
+    @Autowired
+    private RemoteIotTaskService remoteIotTaskService;
+
     public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) {
         System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
     }
@@ -41,4 +45,19 @@ public class RyTask {
         remotePmService.executeTimedSending();
     }
 
+    public void dataOverviewJobData(){
+        System.out.println("dataOverviewJobData start......");
+        remoteIotTaskService.dataOverviewJobData();
+    }
+
+    public void baseAlarmStatus(){
+        System.out.println("baseAlarmStatus start......");
+        remoteIotTaskService.baseAlarmStatus();
+    }
+
+    public void customInfoStatus(){
+        System.out.println("customInfoStatus start......");
+        remoteIotTaskService.customInfoStatus();
+    }
+
 }

+ 3 - 3
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/controller/web/MeetingRoomController.java

@@ -58,9 +58,9 @@ public class MeetingRoomController {
      * 会议室下拉框信息
      * @return
      */
-    @PostMapping("MeetingRoomList")
-    public ApiResult<List<MeetingRoom>> MeetingRoomList(){
-        return ApiResult.success(meetingRoomService.MeetingRoomList());
+    @GetMapping("MeetingRoomList")
+    public ApiResult<List<MeetingRoom>> MeetingRoomList(@RequestParam(value = "domain",required = false) String domain){
+        return ApiResult.success(meetingRoomService.MeetingRoomList(domain));
     }
 
     /**

+ 3 - 0
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/repository/MeetingRoomRepository.java

@@ -115,6 +115,9 @@ public interface MeetingRoomRepository extends JpaRepository<MeetingRoom, Long>,
 
     @Query(value = "select * from meeting_room where floor_id = :floorId",nativeQuery = true)
     List<MeetingRoom> getMeetingRoomList(@Param("floorId") Long floorId);
+
+    @Query(value = "select id from sys_tenant where domain = :domain",nativeQuery = true)
+    Integer getTenantIdByDomain(@Param("domain") String domain);
 //
 //    /**
 //     * 会议室列表(运营)

+ 1 - 1
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/MeetingRoomService.java

@@ -28,7 +28,7 @@ public interface MeetingRoomService extends CrudService<MeetingRoom> {
 
     CommonPage<MeetingRoom> dmMeetingRoomList(MeetingRoomRequestVO requestVO);
 
-    List<MeetingRoom> MeetingRoomList();
+    List<MeetingRoom> MeetingRoomList(String domain);
 
     void add(MeetingRoom meetingRoom);
 

+ 19 - 4
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingRoomServiceImpl.java

@@ -152,9 +152,15 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
     }
 
     @Override
-    public List<MeetingRoom> MeetingRoomList() {
+    public List<MeetingRoom> MeetingRoomList(String domain) {
         LambdaQueryWrapper<MeetingRoom> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(MeetingRoom::getTenantId, SecurityUtils.getTenantId());
+        if(StringUtils.isNotBlank(domain)){
+            Integer tenantId = dmMeetingRoomRepository.getTenantIdByDomain(domain);
+            queryWrapper.eq(MeetingRoom::getTenantId, tenantId);
+        }else{
+            queryWrapper.eq(MeetingRoom::getTenantId, SecurityUtils.getTenantId());
+        }
+
         List<MeetingRoom> list = this.list(queryWrapper);
 
         return list;
@@ -224,10 +230,19 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
         List<DmMeetingRoomDto> newDmMeetingRoomDtoList = new ArrayList<>();
         String meetingRoomName = reservationVO.getMeetingRoomName();
         Long meetingRoomId = reservationVO.getMeetingRoomId();
+        String domain = reservationVO.getDomain();
+        Integer tenantId;
+        if(StringUtils.isNotBlank(domain)){
+            tenantId = dmMeetingRoomRepository.getTenantIdByDomain(domain);
+        }else{
+            tenantId = SecurityUtils.getTenantId();
+        }
+
+
         LambdaQueryWrapper<MeetingRoom> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(meetingRoomId != null,MeetingRoom::getRoomId,reservationVO.getMeetingRoomId())
                 .like(StringUtils.isNotBlank(meetingRoomName),MeetingRoom::getRoomName,meetingRoomName)
-                .eq(MeetingRoom::getTenantId,SecurityUtils.getTenantId());
+                .eq(MeetingRoom::getTenantId,tenantId);
         List<MeetingRoom> list1 = this.list(queryWrapper);
         List<Long> floorIdList = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(list1)) {
@@ -238,7 +253,7 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
             }
             LambdaQueryWrapper<MeetingFloor> floorWrapper = Wrappers.lambdaQuery();
             floorWrapper.in(MeetingFloor::getFloorId, floorIdList)
-                    .eq(MeetingFloor::getTenantId, SecurityUtils.getTenantId());
+                    .eq(MeetingFloor::getTenantId, tenantId);
             List<MeetingFloor> meetingFloorList = dmFloorService.list(floorWrapper);
             if (CollectionUtils.isNotEmpty(meetingFloorList)) {
                 for (int i = 0; i < list1.size(); i++) {

+ 5 - 0
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/vo/MeetingRoomReservationVO.java

@@ -22,4 +22,9 @@ public class MeetingRoomReservationVO {
      * 会议预约日期
      */
     private String date;
+
+    /**
+     * 域名
+     */
+    private String domain;
 }