From 2b27f02a413d782dc091b4549013a8e0a4f926a6 Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Fri, 14 Nov 2025 17:11:14 +0800 Subject: [PATCH] =?UTF-8?q?11=E6=9C=8814=E6=97=A5=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/mapper/coin/RechargeActivityCenterMapper.java | 2 ++ .../coin/RechargeActivityCenterServiceImpl.java | 16 +++++++++++++++- .../resources/mapper/RechargeActivityCenterMapper.xml | 16 +++++++++++++++- 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/example/demo/mapper/coin/RechargeActivityCenterMapper.java b/src/main/java/com/example/demo/mapper/coin/RechargeActivityCenterMapper.java index 27e527e..2edee99 100644 --- a/src/main/java/com/example/demo/mapper/coin/RechargeActivityCenterMapper.java +++ b/src/main/java/com/example/demo/mapper/coin/RechargeActivityCenterMapper.java @@ -23,6 +23,8 @@ public interface RechargeActivityCenterMapper { // 根据ID查询活动 List queryActivity(RechargeActivity activity); + // 根据活动名称查询活动 + RechargeActivity queryActivityByName(RechargeActivity activity); // 新增活动 void addActivity(RechargeActivity activity); diff --git a/src/main/java/com/example/demo/serviceImpl/coin/RechargeActivityCenterServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/RechargeActivityCenterServiceImpl.java index 2281e38..0bae8c8 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/RechargeActivityCenterServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/RechargeActivityCenterServiceImpl.java @@ -11,6 +11,7 @@ import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.util.Date; import java.util.List; +import java.util.regex.Pattern; /** * @program: gold-java @@ -27,7 +28,8 @@ public class RechargeActivityCenterServiceImpl implements RechargeActivityCenter @Autowired private RechargeActivityCenterMapper rechargeActivityCenterMapper; - + private static final String ACTIVITY_NAME_REGEX = "^[\\u4e00-\\u9fa5a-zA-Z0-9,。!?、;:\"'()《》【】——~,.:;!'()\\[\\]-_&+=]{1,50}$"; + private static final Pattern ACTIVITY_NAME_PATTERN = Pattern.compile(ACTIVITY_NAME_REGEX); // 根据ID查询活动 @Override public PageInfo queryActivity(Integer pageNum, Integer pageSize, RechargeActivity activity) { @@ -40,6 +42,18 @@ public class RechargeActivityCenterServiceImpl implements RechargeActivityCenter // 新增活动 @Override public void addActivity(RechargeActivity activity) { + + if (activity.getActivityName().length() > 50) { + throw new IllegalArgumentException("活动名称不能超过50个字符"); + } + RechargeActivity activityByName = rechargeActivityCenterMapper.queryActivityByName(activity); + if (activityByName != null) { + throw new IllegalArgumentException("活动名称已存在"); + } + // 3. 字符格式校验 + if (!ACTIVITY_NAME_PATTERN.matcher(activity.getActivityName()).matches()) { + throw new IllegalArgumentException("活动名称仅允许包含汉字、英文字母、数字及常见标点符号(中英文标点:,。!?、;:\"'()《》【】——~,.:;!'()[]-_&+=)"); + } Date startTime = activity.getStartTime(); Date endTime = activity.getEndTime(); diff --git a/src/main/resources/mapper/RechargeActivityCenterMapper.xml b/src/main/resources/mapper/RechargeActivityCenterMapper.xml index 06f23d3..11ec645 100644 --- a/src/main/resources/mapper/RechargeActivityCenterMapper.xml +++ b/src/main/resources/mapper/RechargeActivityCenterMapper.xml @@ -56,7 +56,21 @@ ra.update_time DESC - + + INSERT INTO recharge_activity (