违规通知功能修改说明

修改概述

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

前端修改 (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中不存在,会记录警告日志但不影响违规记录的创建
相关推荐
文丑颜不良啊2 小时前
LeetCode2141~2160题目解析
java·leetcode
LabVIEW开发2 小时前
LabVIEW 连接板:28 个端子怎么排,优先级怎么定
java·算法·labview
lambo mercy2 小时前
AI智能租房助手
数据库
天天被压力2 小时前
【A股分钟级高频数据完全手册 #07】北交所历史分钟K线接口:京市Pro版分时批量
java·人工智能·python
天天被压力3 小时前
【A股分钟级高频数据完全手册 #08】股票日、分时数据接口对比:普通分时与Pro版差异实测
java·人工智能·python
特立独行的猫A3 小时前
AI 时代,我为什么推荐用 cj-tauri 开发桌面应用
java·后端·python
金銀銅鐵3 小时前
从一个类名到一张类图:用反射自动生成 PlantUML
java·后端·uml
浮生若城3 小时前
MySQL:库与表的操作
数据库·mysql
薛定谔的悦3 小时前
光储充一体机从主控到执行单元的双层架构
数据库·mongodb·架构
数字新视界3 小时前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统