diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml
index c0b66ecd..13c24388 100644
--- a/.gitea/workflows/dev.yml
+++ b/.gitea/workflows/dev.yml
@@ -1,51 +1,203 @@
-name: Gitea Actions Demo
-run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
+run-name: ${{ gitea.actor }} 构建镜像并推送(不含JAR依赖上传)🚀
on:
push:
- branches: [ master ] # 当main分支有推送时触发
+ branches:
+ - master
+
jobs:
- Explore-Gitea-Actions:
- runs-on: ubuntu-latest
+ build-parent-pom:
+ runs-on: ubuntu
steps:
-
- - name: Checkout code
- uses: http://47.109.37.87:3000/bichangxiong/checkout@v4 # 使用 Gitea 镜像
- with:
- fetch-depth: 1 # 只拉取最新一次提交
- # - name: Checkout code
- # uses: actions/checkout@v4 # 拉取代码到工作目录
- - name: Set up JDK 17
- uses: http://47.109.37.87:3000/bichangxiong/setup-java@v3
- with:
- java-version: '17'
- distribution: 'temurin'
- cache: maven
- - name: Set up Maven
- uses: stCarolas/setup-maven@v5
- with:
- maven-version: 3.8.2
+ - name: 拉取代码仓库
+ uses: http://git.missmoc.top/mocheng/checkout@v4
- - name: Install dependencies
- run: mvn clean package -DskipTests -Dmaven.repo.local=/home/runner/maven-repo
- - name: copy file via ssh password
- uses: appleboy/scp-action@v0.1.7
- with:
- host: 192.168.1.3
- username: root
- password: by@2025!
- port: 22
- source: "ruoyi-modules/Property/target/Property.jar,ruoyi-modules/Property/docker-compose.yml,ruoyi-modules/Property/Dockerfile"
- target: "/project/runner/plus/"
- - name: Deploy to server via SSH
- uses: appleboy/ssh-action@v0.1.7
- with:
- host: 192.168.1.3
- username: root
- password: by@2025!
- port: 22
- script: |
- cd /project/runner/plus/ruoyi-modules/Property
- docker-compose up -d --force-recreate
+ - name: 配置环境变量(绝对路径)
+ run: |
+ export JAVA_HOME="/java17/java17"
+ export MAVEN_HOME="/maven/apache-maven-3.9.11"
+
+ if [ ! -f "$JAVA_HOME/bin/java" ]; then
+ echo "错误:JDK可执行文件不存在于 $JAVA_HOME/bin/java"
+ exit 1
+ fi
+ if [ ! -f "$MAVEN_HOME/bin/mvn" ]; then
+ echo "错误:Maven可执行文件不存在于 $MAVEN_HOME/bin/mvn"
+ exit 1
+ fi
+
+ echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
+ echo "$JAVA_HOME/bin" >> $GITHUB_PATH
+ echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV
+ echo "$MAVEN_HOME/bin" >> $GITHUB_PATH
+
+ "$JAVA_HOME/bin/java" -version
+ "$MAVEN_HOME/bin/mvn" -v
+ - name: 配置Maven仓库
+ run: |
+ mkdir -p ~/.m2
+ cat > ~/.m2/settings.xml << EOF
+
+
+ $HOME/.m2/repository
+
+
+ multi-repo
+
+
+ local-repo
+ file://$HOME/.m2/repository
+
+
+ aliyun-public
+ https://maven.aliyun.com/repository/public
+
+
+
+
+
+ multi-repo
+
+
+ EOF
- - run: echo "🍏 This job's status is ${{ job.status }}."
+ - name: 构建主POM(仅本地安装,不上传)
+ run: |
+ MAIN_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/pom.xml"
+ if [ ! -f "$MAIN_POM_ABSOLUTE_PATH" ]; then
+ echo "错误:主POM文件不存在"
+ exit 1
+ fi
+
+ retries=3
+ count=0
+ until "$MAVEN_HOME/bin/mvn" clean package -U -DskipTests -f "$MAIN_POM_ABSOLUTE_PATH"; do
+ count=$((count + 1))
+ if [ $count -ge $retries ]; then
+ echo "错误:主POM构建失败"
+ exit 1
+ fi
+ sleep 10
+ done
+
+ build-common-modules:
+ needs: build-parent-pom
+ runs-on: ubuntu
+ steps:
+ - name: 拉取代码仓库
+ uses: http://git.missmoc.top/mocheng/checkout@v4
+
+ - name: 配置环境变量
+ run: |
+ export JAVA_HOME="/java17/java17"
+ export MAVEN_HOME="/maven/apache-maven-3.9.11"
+ echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
+ echo "$JAVA_HOME/bin" >> $GITHUB_PATH
+ echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV
+ echo "$MAVEN_HOME/bin" >> $GITHUB_PATH
+
+ - name: 构建通用模块(仅本地使用,不上传)
+ run: |
+ COMMON_MODULES=(
+ "ruoyi-common"
+ "ruoyi-api"
+ "ruoyi-common-bom"
+ "ruoyi-common-alibaba-bom"
+ "ruoyi-api-bom"
+ )
+
+ for module in "${COMMON_MODULES[@]}"; do
+ MODULE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${module}/pom.xml"
+ if [ ! -f "$MODULE_POM_ABSOLUTE_PATH" ]; then
+ echo "警告:模块 $module 不存在,跳过"
+ continue
+ fi
+
+ retries=3
+ count=0
+ until "$MAVEN_HOME/bin/mvn" clean install -U -DskipTests -f "$MODULE_POM_ABSOLUTE_PATH"; do
+ count=$((count + 1))
+ if [ $count -ge $retries ]; then
+ echo "错误:模块 $module 构建失败"
+ exit 1
+ fi
+ sleep 10
+ done
+ done
+
+ build-and-push-services:
+ needs: build-common-modules
+ runs-on: ubuntu
+ strategy:
+ matrix:
+ service:
+ - ruoyi-auth
+ - ruoyi-gateway
+ - ruoyi-modules/Property
+ - ruoyi-modules/ruoyi-gen
+ - ruoyi-modules/ruoyi-job
+ - ruoyi-modules/ruoyi-resource
+ - ruoyi-modules/ruoyi-system
+ - ruoyi-modules/ruoyi-workflow
+ - ruoyi-modules/Sis
+ - ruoyi-visual/ruoyi-monitor
+ - ruoyi-visual/ruoyi-nacos
+ - ruoyi-seata-server
+ - ruoyi-sentinel-dashboard
+ - ruoyi-snailjob-server
+ steps:
+ - name: 拉取代码仓库
+ uses: http://git.missmoc.top/mocheng/checkout@v4
+
+ - name: 配置环境变量
+ run: |
+ export JAVA_HOME="/java17/java17"
+ export MAVEN_HOME="/maven/apache-maven-3.9.11"
+ echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
+ echo "$JAVA_HOME/bin" >> $GITHUB_PATH
+ echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV
+ echo "$MAVEN_HOME/bin" >> $GITHUB_PATH
+
+ - name: 构建服务模块
+ run: |
+ SERVICE_NAME="${{ matrix.service }}"
+ SERVICE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/pom.xml"
+ if [ ! -f "$SERVICE_POM_ABSOLUTE_PATH" ]; then
+ echo "错误:服务 $SERVICE_NAME 的POM文件不存在"
+ exit 1
+ fi
+
+ "$MAVEN_HOME/bin/mvn" clean package -U -DskipTests -f "$SERVICE_POM_ABSOLUTE_PATH"
+
+ - name: 配置Docker Buildx
+ uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3
+
+ - name: 登录到容器仓库
+ uses: http://git.missmoc.top/mocheng/login-action@v3
+ with:
+ registry: ${{ secrets.REGISTRY_URL }}
+ username: ${{ secrets.REGISTRY_USER }}
+ password: ${{ secrets.REGISTRY_PASS }}
+
+ - name: 确定Dockerfile路径
+ id: dockerfile-path
+ run: |
+ SERVICE_NAME="${{ matrix.service }}"
+ DOCKERFILE_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/Dockerfile"
+
+ if [ -f "$DOCKERFILE_ABSOLUTE_PATH" ]; then
+ echo "dockerfile_path=$DOCKERFILE_ABSOLUTE_PATH" >> $GITHUB_OUTPUT
+ else
+ echo "dockerfile_path=${GITHUB_WORKSPACE}/Dockerfile" >> $GITHUB_OUTPUT
+ fi
+
+ - name: 构建并推送Docker镜像(仅推送镜像,不上传JAR)
+ uses: http://git.missmoc.top/mocheng/build-push-action@v5
+ with:
+ context: "${GITHUB_WORKSPACE}"
+ file: ${{ steps.dockerfile-path.outputs.dockerfile_path }}
+ tags: ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:${{ github.sha }}
+ push: true
+ cache-from: type=gha
+ cache-to: type=gha,mode=max
+
\ No newline at end of file
diff --git a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java
index 557ed8eb..abb35061 100644
--- a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java
+++ b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java
@@ -35,6 +35,7 @@ public class PlusWebSocketHandler extends AbstractWebSocketHandler {
}
WebSocketSessionHolder.addSession(loginUser.getUserId(), session);
log.info("[connect] sessionId: {},userId:{},userType:{}", session.getId(), loginUser.getUserId(), loginUser.getUserType());
+ System.out.println(WebSocketSessionHolder.getSessions(loginUser.getUserId()));
}
/**
diff --git a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/holder/WebSocketSessionHolder.java b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/holder/WebSocketSessionHolder.java
index 9c2372b8..5d286dfa 100644
--- a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/holder/WebSocketSessionHolder.java
+++ b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/holder/WebSocketSessionHolder.java
@@ -26,8 +26,10 @@ public class WebSocketSessionHolder {
* @param session 要添加的WebSocket会话
*/
public static void addSession(Long sessionKey, WebSocketSession session) {
+ System.out.println(USER_SESSION_MAP);
removeSession(sessionKey);
USER_SESSION_MAP.put(sessionKey, session);
+ System.out.println(USER_SESSION_MAP);
}
/**
@@ -36,6 +38,7 @@ public class WebSocketSessionHolder {
* @param sessionKey 要移除的会话键
*/
public static void removeSession(Long sessionKey) {
+ System.out.println(USER_SESSION_MAP);
WebSocketSession session = USER_SESSION_MAP.remove(sessionKey);
try {
session.close(CloseStatus.BAD_DATA);
@@ -50,6 +53,7 @@ public class WebSocketSessionHolder {
* @return 与给定会话键对应的WebSocket会话,如果不存在则返回null
*/
public static WebSocketSession getSessions(Long sessionKey) {
+ System.out.println(USER_SESSION_MAP);
return USER_SESSION_MAP.get(sessionKey);
}
diff --git a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/utils/WebSocketUtils.java b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/utils/WebSocketUtils.java
index 35320c6e..be9bfe6c 100644
--- a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/utils/WebSocketUtils.java
+++ b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/utils/WebSocketUtils.java
@@ -36,6 +36,7 @@ public class WebSocketUtils {
*/
public static void sendMessage(Long sessionKey, String message) {
WebSocketSession session = WebSocketSessionHolder.getSessions(sessionKey);
+
sendMessage(session, message);
}
diff --git a/ruoyi-modules/Property/pom.xml b/ruoyi-modules/Property/pom.xml
index 1436b359..a062fa82 100644
--- a/ruoyi-modules/Property/pom.xml
+++ b/ruoyi-modules/Property/pom.xml
@@ -126,6 +126,10 @@
2.4.0
compile
+
+ org.dromara
+ ruoyi-common-websocket
+
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbVisitorManagementController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbVisitorManagementController.java
index f7edb234..42da562b 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbVisitorManagementController.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbVisitorManagementController.java
@@ -7,6 +7,7 @@ import java.util.UUID;
import cn.dev33.satoken.stp.StpUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.api.config.ConfigService;
+
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
@@ -14,6 +15,9 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.common.core.constant.GlobalConstants;
import org.dromara.common.redis.utils.RedisUtils;
+import org.dromara.common.websocket.dto.WebSocketMessageDto;
+import org.dromara.common.websocket.holder.WebSocketSessionHolder;
+import org.dromara.common.websocket.utils.WebSocketUtils;
import org.dromara.property.domain.bo.QrCodeInfo;
import org.dromara.resource.api.RemoteMessageService;
import org.dromara.system.api.RemoteConfigService;
@@ -51,8 +55,6 @@ public class TbVisitorManagementController extends BaseController {
@DubboReference
private final RemoteConfigService remoteConfigService;
- @DubboReference(stub = "true")
- private final RemoteMessageService remoteMessageService;
@@ -97,7 +99,13 @@ public class TbVisitorManagementController extends BaseController {
JSONObject jsonObject = new JSONObject();
jsonObject.put("type","qrcode");
jsonObject.put("date",qrcode);
- remoteMessageService.publishMessage(List.of(qrCodeInfo.getUserid()),jsonObject.toString());
+ System.out.println(WebSocketSessionHolder.getSessions(1L));
+ System.out.println(WebSocketSessionHolder.getSessionsAll());
+ WebSocketMessageDto webSocketMessage = new WebSocketMessageDto();
+ webSocketMessage.setMessage(jsonObject.toString());
+ webSocketMessage.setSessionKeys(List.of(qrCodeInfo.getUserid()));
+ WebSocketUtils.publishMessage(webSocketMessage);
+// WebSocketUtils.sendMessage(qrCodeInfo.getUserid(),jsonObject.toString());
return R.ok("二维码可用");
}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/mobile/MInspectionPointController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/mobile/MInspectionPointController.java
new file mode 100644
index 00000000..def57270
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/mobile/MInspectionPointController.java
@@ -0,0 +1,47 @@
+package org.dromara.property.controller.mobile;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.property.domain.bo.InspectionPointBo;
+import org.dromara.property.domain.vo.InspectionPointVo;
+import org.dromara.property.service.IInspectionPointService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 巡检点
+ * 前端访问路由地址为:/property/point
+ *
+ * @author mocheng
+ * @date 2025-07-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/mobile/point")
+public class MInspectionPointController extends BaseController {
+
+ private final IInspectionPointService inspectionPointService;
+ /**
+ * 扫码签到
+ */
+ @PostMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody InspectionPointBo bo) {
+ return toAjax(inspectionPointService.updateByBo(bo));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ServiceWorkOrders.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ServiceWorkOrders.java
index de379feb..99a7d889 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ServiceWorkOrders.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ServiceWorkOrders.java
@@ -1,6 +1,4 @@
package org.dromara.property.domain;
-
-import cn.idev.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostItemsBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostItemsBo.java
index 38980488..4cde0894 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostItemsBo.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostItemsBo.java
@@ -97,7 +97,9 @@ public class CostItemsBo extends BaseEntity {
/**
* 计费单价
*/
- @NotBlank(message = "计费单价", groups = { AddGroup.class, EditGroup.class })
+ @NotNull(message = "计费单价不能为空", groups = { AddGroup.class, EditGroup.class })
+ @DecimalMin(value = "0.00", inclusive = false, message = "计费单价必须大于0")
+ @ExcelProperty("计费单价")
private BigDecimal unitPrice;
/**
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/MeetAttachStatusEnum.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/MeetAttachStatusEnum.java
index 925bd048..1c4c6734 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/MeetAttachStatusEnum.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/MeetAttachStatusEnum.java
@@ -7,11 +7,11 @@ package org.dromara.property.domain.enums;
**/
public enum MeetAttachStatusEnum {
/**
- * 待确认
+ * 上架
*/
ENAABLE("上架", "0"),
/**
- * 待提货
+ * 下架
*/
DEACTIVATE("下架", "1");
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/MeetStatusEnum.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/MeetStatusEnum.java
index 9fc74f3d..c7ddacf5 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/MeetStatusEnum.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/MeetStatusEnum.java
@@ -3,7 +3,7 @@ package org.dromara.property.domain.enums;
/**
* @Author:yuyongle
* @Date:2025/7/4 10:35
- * @Description:
+ * @Description:会议室状态枚举
**/
public enum MeetStatusEnum {
/**
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/WorkOrderStatusEnum.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/WorkOrderStatusEnum.java
new file mode 100644
index 00000000..40966af6
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/WorkOrderStatusEnum.java
@@ -0,0 +1,33 @@
+package org.dromara.property.domain.enums;
+
+/**
+ * @Author:yuyongle
+ * @Date:2025/8/11 10:59
+ * @Description:工单状态枚举
+ **/
+public enum WorkOrderStatusEnum {
+
+ CREATE_ORDER("创建工单", "0"),
+ DISPATCHED("已派单", "1"),
+ ROB_ORDER("已抢单", "2"),
+ IN_HAND("处理中", "3"),
+ DONE("已完成", "4"),
+ ABANDON("已废弃", "5");
+
+
+ private final String name;
+ private final String value;
+
+ WorkOrderStatusEnum(String name, String value) {
+ this.name = name;
+ this.value = value;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public String getValue() {
+ return this.value;
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java
index 11457675..823732b7 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java
@@ -167,7 +167,7 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
LocalDate endDate = vo.getEndDate();
LocalDate currentDate = bo.getCurrentDate();
// //统计当前考勤组有多少条数据
-// int count = Math.toIntExact(scheduleCycleMapper.selectCount(Wrappers.lambdaQuery().eq(AttendanceScheduleCycle::getGroupId, groupId)));
+ int count = Math.toIntExact(scheduleCycleMapper.selectCount(Wrappers.lambdaQuery().eq(AttendanceScheduleCycle::getGroupId, groupId)));
//取出attendanceScheduleCycle表中的天数
List cycleDaysList = scheduleCycleMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceScheduleCycle::getGroupId, groupId)).stream().map(AttendanceScheduleCycle::getDayNumber).collect(Collectors.toList());
@@ -177,9 +177,9 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
if (date.isEqual(currentDate)) {
// 判断当前日期是cycleDays中的第几天
int dayNumber = date.getDayOfYear() - startDate.getDayOfYear() + 1;
- cycleDay = dayNumber % cycleDaysList.size();
+ cycleDay = dayNumber % count;
if (cycleDay == 0) {
- cycleDay = cycleDaysList.size();
+ cycleDay = count;
}
// 根据cycleDay查询出当前日期的班次信息
AttendanceScheduleCycle cycle = scheduleCycleMapper.selectOne(Wrappers.lambdaQuery()
@@ -512,15 +512,6 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
AttendanceArrangement update = MapstructUtils.convert(bo, AttendanceArrangement.class);
validEntityBeforeSave(update);
-// judgeDate(bo, update);
-
- //根据排班id获取人员id
- //根据人员id删除人员信息
- //新增人员信息
- //根据排班id获取部门id
- //根据部门id删除部门信息
- //新增部门信息
-
//取出当前排班的id
assert update != null;
Long ArrangementId = update.getId();
@@ -528,19 +519,35 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
List employeeIdList = userGroupMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, ArrangementId))
.stream().map(AttendanceUserGroup::getEmployeeId).toList();
//根据employeeId和ArrangementId删除attendanceUserGroup表中的数据
- userGroupMapper.delete(Wrappers.lambdaQuery().in(AttendanceUserGroup::getEmployeeId, employeeIdList)
- .eq(AttendanceUserGroup::getScheduleId, ArrangementId));
+ if (!employeeIdList.isEmpty()) {
+ userGroupMapper.delete(Wrappers.lambdaQuery().in(AttendanceUserGroup::getEmployeeId, employeeIdList)
+ .eq(AttendanceUserGroup::getScheduleId, ArrangementId));
+ }
//根据排班id获取部门id
List deptIdList = userGroupMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, ArrangementId))
.stream().map(AttendanceUserGroup::getDeptId).toList();
- //根据deptId和ArrangementId删除attendanceDeptGroup表中的数据
- userGroupMapper.delete(Wrappers.lambdaQuery().in(AttendanceUserGroup::getDeptId, deptIdList)
- .eq(AttendanceUserGroup::getScheduleId, ArrangementId));
+ if (!deptIdList.isEmpty()) {
+ //根据deptId和ArrangementId删除attendanceDeptGroup表中的数据
+ userGroupMapper.delete(Wrappers.lambdaQuery().in(AttendanceUserGroup::getDeptId, deptIdList)
+ .eq(AttendanceUserGroup::getScheduleId, ArrangementId));
+ }
+
+ //根据当前排班的id查询出当前的开始时间和结束时间
+ AttendanceArrangement old = baseMapper.selectById(ArrangementId);
+ //根据old查询出开始时间
+ LocalDate oldStartDate = old.getStartDate();
+ //根据old查询出结束时间
+ LocalDate oldEndDate = old.getEndDate();
//用获取到的排班id向attendanceUserGroup表中批量插入数据
List userGroupList = bo.getUserGroupList();
+ for (AttendanceUserGroup userGroup : userGroupList) {
+ userGroup.setScheduleId(bo.getId());
+ userGroup.setStartDate(oldStartDate);
+ userGroup.setEndDate(oldEndDate);
+ }
userGroupMapper.insertBatch(userGroupList);
return baseMapper.updateById(update) > 0;
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceUserGroupServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceUserGroupServiceImpl.java
index 63c4d027..a4703391 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceUserGroupServiceImpl.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceUserGroupServiceImpl.java
@@ -1,5 +1,7 @@
package org.dromara.property.service.impl;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -14,6 +16,8 @@ import org.dromara.property.domain.bo.AttendanceArrangementBo;
import org.dromara.property.domain.constant.StatusConstant;
import org.dromara.property.domain.vo.AttendanceArrangementVo;
import org.dromara.property.mapper.*;
+import org.dromara.system.domain.vo.SysUserVo;
+import org.dromara.system.service.ISysUserService;
import org.springframework.stereotype.Service;
import org.dromara.property.domain.bo.AttendanceUserGroupBo;
import org.dromara.property.domain.vo.AttendanceUserGroupVo;
@@ -48,6 +52,10 @@ public class AttendanceUserGroupServiceImpl implements IAttendanceUserGroupServi
private final AttendanceScheduleCycleMapper scheduleCycleMapper;
+ @DubboReference
+ private ISysUserService sysUserService;
+
+
/**
* 查询排班明细
*
@@ -169,8 +177,10 @@ public class AttendanceUserGroupServiceImpl implements IAttendanceUserGroupServi
// 根据查询出来的result取出scheduleId
Long scheduleId = vo.getScheduleId();
- // 根据排班的id查询出排班的人员详细信息
-// List userGroupList = baseMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, scheduleId));
+
+ //根据employeeId查询出用户的详细信息
+ SysUserVo sysUserVo = sysUserService.selectUserById(vo.getEmployeeId());
+ vo.setSysUser(sysUserVo);
//根据scheduleId查询出排班的详细信息
AttendanceArrangement attendanceArrangement = arrangementMapper.selectOne(Wrappers.lambdaQuery().eq(AttendanceArrangement::getId, scheduleId));
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostCarChargeServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostCarChargeServiceImpl.java
index 5797df16..05dbd42c 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostCarChargeServiceImpl.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostCarChargeServiceImpl.java
@@ -99,9 +99,11 @@ public class CostCarChargeServiceImpl implements ICostCarChargeService {
lqw.eq(bo.getFloorId() != null, CostCarCharge::getFloorId, bo.getFloorId());
lqw.eq(StringUtils.isNotBlank(bo.getLocation()), CostCarCharge::getLocation, bo.getLocation());
lqw.eq(StringUtils.isNotBlank(bo.getState()), CostCarCharge::getState, bo.getState());
+ lqw.eq(StringUtils.isNotBlank(bo.getChargeStatus()), CostCarCharge::getChargeStatus, bo.getChargeStatus());
lqw.eq(bo.getCostItemsId() != null, CostCarCharge::getCostItemsId, bo.getCostItemsId());
lqw.eq(bo.getStarTime() != null, CostCarCharge::getStarTime, bo.getStarTime());
lqw.eq(bo.getEndTime() != null, CostCarCharge::getEndTime, bo.getEndTime());
+ lqw.eq(StringUtils.isNotBlank(bo.getState()), CostCarCharge::getState, bo.getState());
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), CostCarCharge::getSearchValue, bo.getSearchValue());
return lqw;
}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostItemsServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostItemsServiceImpl.java
index 8cf98820..20a614dc 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostItemsServiceImpl.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostItemsServiceImpl.java
@@ -78,6 +78,7 @@ public class CostItemsServiceImpl implements ICostItemsService {
lqw.orderByAsc(CostItems::getId);
lqw.eq(StringUtils.isNotBlank(bo.getCostType()), CostItems::getCostType, bo.getCostType());
lqw.eq(StringUtils.isNotBlank(bo.getChargeItem()), CostItems::getChargeItem, bo.getChargeItem());
+ lqw.eq(StringUtils.isNotBlank(bo.getChargeNo()), CostItems::getChargeNo, bo.getChargeNo());
lqw.eq(StringUtils.isNotBlank(bo.getCostMark()), CostItems::getCostMark, bo.getCostMark());
lqw.eq(StringUtils.isNotBlank(bo.getPaymentType()), CostItems::getPaymentType, bo.getPaymentType());
lqw.eq(bo.getChargeCycle() != null, CostItems::getChargeCycle, bo.getChargeCycle());
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/MachineMaintainPlanServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/MachineMaintainPlanServiceImpl.java
index f58714aa..94bb107d 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/MachineMaintainPlanServiceImpl.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/MachineMaintainPlanServiceImpl.java
@@ -178,15 +178,16 @@ public class MachineMaintainPlanServiceImpl implements IMachineMaintainPlanServi
*/
private void validEntityBeforebo(Long id, MachineMaintainPlanBo bo) {
//TODO 做一些数据校验,如唯一约束
- Assert.isTrue(CollUtil.isNotEmpty(bo.getMachineMaintainPlanStaffBoList()), "巡检人员不存在");
- QueryWrapper staffLambdaQueryWrapper = new QueryWrapper<>();
- staffLambdaQueryWrapper.eq("maintain_plan_id", id);
- machineMaintainPlanStaffMapper.delete(staffLambdaQueryWrapper);
- List machineMaintainPlanStaffBoList = bo.getMachineMaintainPlanStaffBoList();
- machineMaintainPlanStaffBoList.stream().forEach(s->{
- s.setMaintainPlanId(id);
- });
- machineMaintainPlanStaffMapper.insertBatch(BeanUtil.copyToList(machineMaintainPlanStaffBoList, MachineMaintainPlanStaff.class));
+ if(CollUtil.isNotEmpty(bo.getMachineMaintainPlanStaffBoList())){
+ QueryWrapper staffLambdaQueryWrapper = new QueryWrapper<>();
+ staffLambdaQueryWrapper.eq("maintain_plan_id", id);
+ machineMaintainPlanStaffMapper.delete(staffLambdaQueryWrapper);
+ List machineMaintainPlanStaffBoList = bo.getMachineMaintainPlanStaffBoList();
+ machineMaintainPlanStaffBoList.stream().forEach(s->{
+ s.setMaintainPlanId(id);
+ });
+ machineMaintainPlanStaffMapper.insertBatch(BeanUtil.copyToList(machineMaintainPlanStaffBoList, MachineMaintainPlanStaff.class));
+ }
}
/**
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbVisitorManagementServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbVisitorManagementServiceImpl.java
index 3accd7ed..63dd52d0 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbVisitorManagementServiceImpl.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbVisitorManagementServiceImpl.java
@@ -105,6 +105,7 @@ public class TbVisitorManagementServiceImpl implements ITbVisitorManagementServi
@Override
public Boolean insertByBo(TbVisitorManagementBo bo) {
QrCodeInfo info = RedisUtils.getCacheObject(GlobalConstants.CAPTCHA_CODE_KEY +"Qrcode" + bo.getQrCodeId());
+ RedisUtils.deleteKeys(GlobalConstants.CAPTCHA_CODE_KEY +"Qrcode" + bo.getQrCodeId());
TbVisitorManagement add = MapstructUtils.convert(bo, TbVisitorManagement.class);
validEntityBeforeSave(add);
add.setCreateById(info.getUserid());
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/InspectionTasks.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/InspectionTasks.java
index ebd3d47c..a15a866d 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/InspectionTasks.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/InspectionTasks.java
@@ -7,6 +7,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import org.dromara.property.domain.InspectionPlanStaff;
import org.dromara.property.domain.InspectionTask;
import org.dromara.property.domain.bo.InspectionPlanBo;
@@ -41,6 +42,7 @@ import static org.dromara.common.mybatis.core.mapper.BaseMapperPlus.log;
* @Date:2025/7/11 15:28
* @Description: 巡检任务定时处理器
**/
+@Slf4j
@Component
@RequiredArgsConstructor
//@Validated
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/MachineTasks.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/MachineTasks.java
index af701d25..c3f8b73f 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/MachineTasks.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/MachineTasks.java
@@ -8,6 +8,7 @@ import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import org.dromara.property.domain.MachineMaintainPlanStaff;
import org.dromara.property.domain.MachineMaintainTask;
import org.dromara.property.domain.bo.MachineMaintainPlanBo;
@@ -42,6 +43,7 @@ import static org.dromara.common.mybatis.core.mapper.BaseMapperPlus.log;
* @Date:2025/7/17 09:25
* @Description:
**/
+@Slf4j
@Component
@RequiredArgsConstructor
//@Validated
@@ -64,6 +66,7 @@ public class MachineTasks {
List machineMaintainPlanVoList = machineMaintainPlanService.queryList(machineMaintainPlanBo);
// 如果没有有效计划,直接返回
if (ObjectUtil.isEmpty(machineMaintainPlanVoList)) {
+ log.info("暂时没有有效的计划");
return;
}
machineMaintainPlanVoList.stream().forEach(plan->{
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/ServiceWorkOrderTasks.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/ServiceWorkOrderTasks.java
index a0ad8082..20b673ef 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/ServiceWorkOrderTasks.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/tasks/ServiceWorkOrderTasks.java
@@ -2,17 +2,31 @@ package org.dromara.property.tasks;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.dromara.property.domain.AttendanceUserGroup;
import org.dromara.property.domain.ServiceWorkOrders;
+import org.dromara.property.domain.ServiceWorkOrdersRecord;
+import org.dromara.property.domain.enums.WorkOrderStatusEnum;
+import org.dromara.property.mapper.AttendanceUserGroupMapper;
import org.dromara.property.mapper.ServiceWorkOrdersMapper;
+import org.dromara.property.mapper.ServiceWorkOrdersRecordMapper;
+import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import java.time.LocalDate;
+import java.util.Date;
import java.util.List;
-
-import org.dromara.common.log.annotation.Log;
+import org.springframework.transaction.annotation.Transactional;
+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;
/**
* @Author:yuyongle
@@ -20,23 +34,123 @@ import org.dromara.common.log.annotation.Log;
* @Description:自动派单
**/
@Slf4j
-@Component
+//@Component
+//@RequiredArgsConstructor
+
@RequiredArgsConstructor
+@RestController
+@RequestMapping("/serviceWorkOrderTasks")
public class ServiceWorkOrderTasks {
private ServiceWorkOrdersMapper workOrdersMapper;
+ private ServiceWorkOrdersRecordMapper workOrdersRecordMapper;
+ private AttendanceUserGroupMapper attendanceUserGroupMapper;
- //查询状态为创建工单的工单
+ /**
+ * 查询状态为创建工单的工单,查询当天排班人员,为工单自动派单
+ */
+// @Transactional(rollbackFor = Exception.class)
+// @Scheduled(cron = "0 0 */1 * * ?")
+ @GetMapping("/serviceWorkOrderTaskId")
private void handleServiceWorkOrder() {
List serviceWorkOrderList = workOrdersMapper.selectList(
new LambdaQueryWrapper()
- .eq(ServiceWorkOrders::getStatus, "0"));
+ .eq(ServiceWorkOrders::getStatus, WorkOrderStatusEnum.CREATE_ORDER.getValue()));
if(CollUtil.isNotEmpty(serviceWorkOrderList)){
serviceWorkOrderList.stream().forEach(s->{
-
+ //查询今天上班的人员
+ LocalDate today = LocalDate.now();
+ List attendanceUserGroups = attendanceUserGroupMapper.selectList(
+ new LambdaQueryWrapper()
+ .eq(AttendanceUserGroup::getStartDate, today)
+ );
+ if(CollUtil.isNotEmpty(attendanceUserGroups)){
+ attendanceUserGroups.stream().forEach(s1->{
+ ServiceWorkOrdersRecord serviceWorkOrdersRecord = new ServiceWorkOrdersRecord();
+ serviceWorkOrdersRecord.setOrderId(s.getId());
+ serviceWorkOrdersRecord.setStatus(WorkOrderStatusEnum.DISPATCHED.getValue());
+ serviceWorkOrdersRecord.setHandler(s1.getEmployeeId());
+ workOrdersRecordMapper.insert(serviceWorkOrdersRecord);
+ s.setStatus(WorkOrderStatusEnum.DISPATCHED.getValue());
+ s.setHandler(s1.getEmployeeId());
+ workOrdersMapper.updateById(s);
+ log.info("派单工单号为:{}",s.getOrderNo());
+ log.info("处理人为:{}",s1.getEmployeeId());
+ });
+ }else {
+ log.info("当天无排班人员");
+ }
});
}else {
log.info("派单工单为:{}",serviceWorkOrderList.size());
}
+ }
+ /**
+ * 处理超过30分钟的工单
+ */
+// @Transactional(rollbackFor = Exception.class)
+// @Scheduled(cron = "0 0 */1 * * ?")
+ @GetMapping("/thirtyWorkOrderTaskId")
+ private void thirtyHandleServiceWorkOrder() {
+ // 1. 查询当前状态为“已派单”的工单
+ List serviceWorkOrderList = workOrdersMapper.selectList(
+ new LambdaQueryWrapper()
+ .eq(ServiceWorkOrders::getStatus, WorkOrderStatusEnum.DISPATCHED.getValue())
+ );
+ LocalDate today = LocalDate.now();
+ // 2. 查询今天有排班的人员
+ List attendanceUserGroups = attendanceUserGroupMapper.selectList(
+ new LambdaQueryWrapper()
+ .eq(AttendanceUserGroup::getStartDate, today)
+ );
+ if (CollUtil.isEmpty(serviceWorkOrderList) || CollUtil.isEmpty(attendanceUserGroups)) {
+ log.info("当前无可处理的超时工单或今日无排班人员");
+ return;
+ }
+ Date now = new Date();
+ // 3. 遍历超时工单
+ serviceWorkOrderList.forEach(workOrder -> {
+ // 查询该工单的最新记录(可能有多条记录)
+ ServiceWorkOrdersRecord latestRecord = workOrdersRecordMapper.selectOne(
+ new LambdaQueryWrapper()
+ .eq(ServiceWorkOrdersRecord::getOrderId, workOrder.getId())
+ .orderByDesc(ServiceWorkOrdersRecord::getCreateTime)
+ .last("LIMIT 1") // 获取最新一条记录
+ );
+ if (ObjectUtil.isEmpty(latestRecord) || latestRecord.getCreateTime() == null) {
+ return;
+ }
+ // 判断是否超过30分钟
+ long minutesElapsed = DateUtil.between(latestRecord.getCreateTime(), now, DateUnit.MINUTE);
+ if (minutesElapsed <= 30) {
+ return; // 未超时,跳过
+ }
+ // 4. 标记原记录为废弃
+ latestRecord.setStatus(WorkOrderStatusEnum.ABANDON.getValue());
+ workOrdersRecordMapper.updateById(latestRecord);
+ log.info("工单号:{} 的原记录已废弃,超时未处理", workOrder.getOrderNo());
+ // 5. 重新派单给今天所有排班人员(排除原处理人?根据业务决定)
+ boolean hasNewDispatch = false;
+ for (AttendanceUserGroup group : attendanceUserGroups) {
+ Long employeeId = group.getEmployeeId();
+ // 可选:避免重新派给原处理人
+ if (employeeId.equals(latestRecord.getHandler())) {
+ log.debug("跳过原处理人:{}", employeeId);
+ continue;
+ }
+ // 创建新的派单记录
+ ServiceWorkOrdersRecord newRecord = new ServiceWorkOrdersRecord();
+ newRecord.setOrderId(workOrder.getId());
+ newRecord.setHandler(employeeId);
+ newRecord.setStatus(WorkOrderStatusEnum.DISPATCHED.getValue());
+ newRecord.setCreateTime(now);
+ workOrdersRecordMapper.insert(newRecord);
+ log.info("工单号:{} 已重新派发给员工ID:{}", workOrder.getOrderNo(), employeeId);
+ // 6. 更新主工单状态(可选:若只保留最新记录状态,也可不更新主表)
+ workOrder.setStatus(WorkOrderStatusEnum.DISPATCHED.getValue()); // 仍为已派单
+ workOrder.setHandler(employeeId); // 可清空,或设为最后一个人(根据业务)
+ workOrdersMapper.updateById(workOrder);
+ }
+ });
}
}
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/VideoAlarmController.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/VideoAlarmController.java
index 07bb40b2..54a1d276 100644
--- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/VideoAlarmController.java
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/VideoAlarmController.java
@@ -2,12 +2,15 @@ package org.dromara.sis.controller;
import com.alibaba.fastjson2.JSONObject;
import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.sis.sdk.unview.model.UvModel;
import org.dromara.sis.sdk.unview.service.VideoAlarmService;
import org.springframework.web.bind.annotation.*;
+import java.io.IOException;
+
/**
* 宇视告警书记上报
*
@@ -32,8 +35,9 @@ public class VideoAlarmController {
}
@PostMapping("/huawei/callback")
- public void huaweiAlarm(@RequestBody Object data) {
- log.info("华为上报消息,msg={}", data);
+ public void huaweiAlarm(HttpServletRequest request) throws IOException {
+ int read = request.getInputStream().read();
+ log.info("华为上报消息,msg={}", read);
}
diff --git a/ruoyi-modules/pom.xml b/ruoyi-modules/pom.xml
index 3e55175f..267aca5a 100644
--- a/ruoyi-modules/pom.xml
+++ b/ruoyi-modules/pom.xml
@@ -14,8 +14,8 @@
ruoyi-job
ruoyi-resource
ruoyi-workflow
- Property
- Sis
+
+
ruoyi-modules