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 (