违规通知功能修改说明

修改概述

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

前端修改 (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中不存在,会记录警告日志但不影响违规记录的创建
相关推荐
kyle~13 分钟前
DTO --- 数据封装
数据库·oracle·前后端
企业数字化笔记13 分钟前
租户停用后数据和任务怎么处理?冻结、恢复与保留策略的实现
android·java·spring boot
CarIise20 分钟前
Spring MVC 请求参数绑定与常用注解
java·spring·mvc
一条泥憨鱼33 分钟前
AI Agent 安全实践:从 MCP 工具调用到 Java 权限校验
java·人工智能·安全
Nebula_g38 分钟前
云禾外卖补充—项目整体后端运行逻辑-对流程的更深层次理解
java·开发语言·网络·数据库·状态模式·javase
萧瑟余晖39 分钟前
Spring Security 6.x新特性与架构演进详解
java·spring·架构
太理摆烂哥42 分钟前
MySQL数据类型
数据库·mysql
\光辉岁月/1 小时前
1.Object类
java·面向对象·object类
程序员小孔.1 小时前
基于 SpringBoot + UniApp + Vue 的家政服务系统设计与实现
前端·数据库·spring boot·python·docker·微信小程序
鸽鸽程序猿1 小时前
【项目】【在线判题系统】公共功能
java·spring boot·maven