From 9d430d48df99bfbcadd87fed0027d8a11963ee43 Mon Sep 17 00:00:00 2001 From: Administrator Date: Mon, 13 Jul 2026 08:25:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DMemberMapper=20SQL?= =?UTF-8?q?=E4=BC=98=E5=85=88=E7=BA=A7=E3=80=81Coach/Member=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=A0=A1=E9=AA=8C=E3=80=81AuthInterceptor=E6=94=BE?= =?UTF-8?q?=E8=A1=8C=E5=9B=BE=E7=89=87=E3=80=81=E6=B7=BB=E5=8A=A0=E6=95=99?= =?UTF-8?q?=E7=BB=83=E6=A8=A1=E6=8B=9F=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 17 ++++++++++++++ .../stlserver/config/AuthInterceptor.java | 5 ++-- .../edu/situ/stlserver/dao/MemberMapper.java | 2 +- .../service/impl/CoachServiceImpl.java | 8 +++++++ .../service/impl/MemberServiceImpl.java | 4 ++++ src/main/resources/data.sql | 23 +++++++++++++++++++ 6 files changed, 56 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 2959d26..36960cb 100644 --- a/pom.xml +++ b/pom.xml @@ -56,6 +56,23 @@ lombok true + + io.jsonwebtoken + jjwt-api + 0.12.6 + + + io.jsonwebtoken + jjwt-impl + 0.12.6 + runtime + + + io.jsonwebtoken + jjwt-jackson + 0.12.6 + runtime + org.springframework.boot spring-boot-starter-test diff --git a/src/main/java/edu/situ/stlserver/config/AuthInterceptor.java b/src/main/java/edu/situ/stlserver/config/AuthInterceptor.java index 07a0567..480ebe6 100644 --- a/src/main/java/edu/situ/stlserver/config/AuthInterceptor.java +++ b/src/main/java/edu/situ/stlserver/config/AuthInterceptor.java @@ -13,10 +13,11 @@ public class AuthInterceptor implements HandlerInterceptor { if (request.getRequestURI().contains("/auth/login")) { return true; } - // 放行静态资源和Swagger + // 放行静态资源、Swagger和图片 if (request.getRequestURI().contains("/index.html") || request.getRequestURI().contains("/v3/api-docs") - || request.getRequestURI().contains("/swagger-ui")) { + || request.getRequestURI().contains("/swagger-ui") + || request.getRequestURI().contains("/images/")) { return true; } diff --git a/src/main/java/edu/situ/stlserver/dao/MemberMapper.java b/src/main/java/edu/situ/stlserver/dao/MemberMapper.java index 9e1a268..500515f 100644 --- a/src/main/java/edu/situ/stlserver/dao/MemberMapper.java +++ b/src/main/java/edu/situ/stlserver/dao/MemberMapper.java @@ -19,7 +19,7 @@ public interface MemberMapper { " AND `sex` = #{sex}", "", "", - " AND end_date IS NULL OR end_date >= CURDATE()", + " AND (end_date IS NULL OR end_date >= CURDATE())", " AND end_date IS NOT NULL AND end_date < CURDATE()", "", "", diff --git a/src/main/java/edu/situ/stlserver/service/impl/CoachServiceImpl.java b/src/main/java/edu/situ/stlserver/service/impl/CoachServiceImpl.java index 34dfb02..eae35e6 100644 --- a/src/main/java/edu/situ/stlserver/service/impl/CoachServiceImpl.java +++ b/src/main/java/edu/situ/stlserver/service/impl/CoachServiceImpl.java @@ -44,11 +44,19 @@ public class CoachServiceImpl implements CoachService { @Override public void quit(Integer id) { + Coach coach = coachMapper.selectById(id); + if (coach.getQuitDate() != null) { + throw new RuntimeException("该教练已离职"); + } coachMapper.quit(id, DateUtil.today()); } @Override public void rejoin(Integer id) { + Coach coach = coachMapper.selectById(id); + if (coach.getQuitDate() == null) { + throw new RuntimeException("该教练在职中"); + } coachMapper.rejoin(id); } diff --git a/src/main/java/edu/situ/stlserver/service/impl/MemberServiceImpl.java b/src/main/java/edu/situ/stlserver/service/impl/MemberServiceImpl.java index 7892e84..9f6397d 100644 --- a/src/main/java/edu/situ/stlserver/service/impl/MemberServiceImpl.java +++ b/src/main/java/edu/situ/stlserver/service/impl/MemberServiceImpl.java @@ -44,6 +44,10 @@ public class MemberServiceImpl implements MemberService { @Override public void cancel(Integer id) { + Member member = memberMapper.selectById(id); + if (member.getEndDate() != null) { + throw new RuntimeException("该会员已过期"); + } memberMapper.cancel(id, DateUtil.today()); } diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql index 3a36942..6c06272 100644 --- a/src/main/resources/data.sql +++ b/src/main/resources/data.sql @@ -1,3 +1,26 @@ +-- 教练模拟数据 +INSERT INTO `coaches` (`name`, `sex`, `avatar`, `remark`, `quit_date`) VALUES +('铁娃', 1, NULL, '擅长瑜伽和普拉提', '2024-12-15'), +('小明', 1, NULL, '力量训练专家', NULL), +('张伟', 1, NULL, '搏击教练,散打冠军', '2025-01-20'), +('李娜', 2, NULL, '有氧舞蹈教练', NULL), +('王强', 1, NULL, '资深健身教练', '2024-11-08'), +('刘芳', 2, NULL, '普拉提认证教练', NULL), +('陈刚', 1, NULL, '动感单车教练', '2025-03-10'), +('赵敏', 2, NULL, '游泳教练', NULL), +('周涛', 1, NULL, '拳击教练', '2024-10-25'), +('吴雪', 2, NULL, '形体塑造教练', NULL), +('孙磊', 1, NULL, '康复训练专家', '2025-02-14'), +('朱婷', 2, NULL, '舞蹈教练', NULL), +('林浩', 1, NULL, '攀岩教练', '2024-09-30'), +('杨丽', 2, NULL, '空手道教练', NULL), +('黄勇', 1, NULL, '肚皮舞教练', '2025-04-05'), +('徐静', 2, NULL, 'CrossFit教练', NULL), +('马超', 1, NULL, '户外拓展教练', '2024-08-18'), +('罗娟', 2, NULL, '瑜伽教练', NULL), +('梁鑫', 1, NULL, '格斗教练', '2025-05-22'), +('宋雨', 2, NULL, '有氧操教练', NULL); + -- 会员模拟数据 INSERT INTO `members` (`name`, `sex`, `phone`, `level`, `remark`, `start_date`, `end_date`, `remain_count`, `total_spend`) VALUES ('张三', 1, '13800138001', '金卡', '年卡会员,喜欢瑜伽', '2024-01-15', '2025-01-15', NULL, 5999),