违规通知功能修改说明

修改概述

根据需求,对违规记录添加时的通知功能进行了重要修改:

前端修改 (add-violation.vue)

  1. 删除了前端直接调用发送通知的方法
    • 移除了 sendViolationNotification() 方法
    • 删除了在提交成功后调用 this.sendViolationNotification() 的代码
    • 改为由后端在创建违规记录时自动发送通知

后端修改 (ViolationsController.java)

  1. 注入了UserMappingMapper依赖

    @Resource
    private com.parkingmanage.mapper.UserMappingMapper userMappingMapper;

  2. 重写了sendViolationNotification方法

    • 原来: 发送通知给管家
    • 现在: 发送通知给预约记录中的访客 (visitorname)
  1. 新的通知流程:
    • 检查违规记录是否有appointmentId
    • 根据appointmentId查询预约记录详情
    • 从预约记录中获取visitorname
    • 通过visitorname查询user_mapper表获取openid
    • 使用sendTemplateMessage方法发送通知给访客
  1. 添加了getOpenidByNickname方法
    • 复用了ParkingTimeoutController中的逻辑
    • 根据昵称查询user_mapper表获取openid

功能变化

修改前

  • 前端在提交违规记录后直接调用微信通知API
  • 通知发送给管家

修改后

  • 后端在创建违规记录时自动发送通知
  • 通知发送给违规车辆对应预约记录中的访客
  • 只有存在预约记录的违规才会发送通知

注意事项

  1. 只对预约车辆发送通知 : 如果违规记录没有appointmentId,则不会发送通知
  1. 需要user_mapper数据: 访客的昵称必须在user_mapper表中有对应的openid记录
  1. 模板ID: 当前使用的模板ID为"parking_violation_template",可根据实际情况调整

日志信息

修改后的代码包含详细的日志信息,便于调试:

  • 查询预约记录详情的日志
  • 查找访客姓名的日志
  • 查询openid的日志
  • 发送通知成功/失败的日志

兼容性

  • 对于非预约车辆的违规记录,系统会跳过通知发送,不影响正常业务流程
  • 如果访客昵称在user_mapper中不存在,会记录警告日志但不影响违规记录的创建
相关推荐
山峰哥9 小时前
SQL优化全解析:从索引策略到查询性能飞跃
大数据·数据库·sql·编辑器·深度优先
葫三生10 小时前
存在之思:三生原理与现象学对话可能?
数据库·人工智能·神经网络·算法·区块链
小学仔10 小时前
科大镜像科大镜像科大镜像
java
小旭952710 小时前
Java 反射详解
java·开发语言·jvm·面试·intellij-idea
不凉帅10 小时前
NO.6 数据库设计基础知识
数据库·分布式数据库·软考·数据库设计
HalvmånEver10 小时前
Linux:线程创建与终止上(线程五)
java·linux·jvm
TOOLS指南10 小时前
谷歌AI Gemin怎么使用?Gemini国内使用指南!
数据库·微软
cuber膜拜10 小时前
Weaviate 简介与基本使用
数据库·python·docker·向量数据库·weaviate
m0_7482331710 小时前
PHP版本演进:从7.x到8.x全解析
java·开发语言·php
qq_124987075310 小时前
基于springboot的林业资源管理系统设计与实现(源码+论文+部署+安装)
java·vue.js·spring boot·后端·spring·毕业设计·计算机毕业设计