公告相关上传

Change-Id: I81fa2661ee5aefbb898697da43e57a83cc6cec35
diff --git a/src/main/java/com/pt5/pthouduan/service/ActivityService.java b/src/main/java/com/pt5/pthouduan/service/ActivityService.java
new file mode 100644
index 0000000..67b51e1
--- /dev/null
+++ b/src/main/java/com/pt5/pthouduan/service/ActivityService.java
@@ -0,0 +1,40 @@
+package com.pt5.pthouduan.service;
+
+import com.pt5.pthouduan.entity.Activity;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 活动服务接口
+ * </p>
+ *
+ * 功能:增、删、改、查(按是否显示状态)
+ * </p>
+ *
+ * @author ym
+ * @since 2025-05-16
+ */
+public interface ActivityService {
+
+    // 根据 is_show 状态查询活动列表(0:显示,1:隐藏等)
+    List<Activity> findByIsShow(Integer isShow);
+
+    // 创建活动
+    boolean save(Activity activity);
+
+    // 根据ID删除活动
+    boolean removeById(Integer activityid);
+
+    // 根据ID更新活动
+    boolean updateById(Activity activity);
+
+    // 根据ID获取活动
+    Activity getById(Integer activityid);
+
+    // 新增:获取所有活动(不分是否显示)
+    List<Activity> list();
+
+    //根据题目获得公告
+    List<Activity> searchByTitle(String title);
+}
diff --git a/src/main/java/com/pt5/pthouduan/service/impl/ActivityServiceImpl.java b/src/main/java/com/pt5/pthouduan/service/impl/ActivityServiceImpl.java
new file mode 100644
index 0000000..3173589
--- /dev/null
+++ b/src/main/java/com/pt5/pthouduan/service/impl/ActivityServiceImpl.java
@@ -0,0 +1,67 @@
+package com.pt5.pthouduan.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.pt5.pthouduan.entity.Activity;
+import com.pt5.pthouduan.mapper.ActivityMapper;
+import com.pt5.pthouduan.service.ActivityService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 活动服务实现类
+ * </p>
+ *
+ * 实现了活动的增删改查逻辑
+ * </p>
+ *
+ * @author ym
+ * @since 2025-05-16
+ */
+@Service
+public class ActivityServiceImpl implements ActivityService {
+
+    @Autowired
+    private ActivityMapper activityMapper;
+
+    @Override
+    public List<Activity> findByIsShow(Integer isShow) {
+        return activityMapper.selectByIsShow(isShow);
+    }
+
+    @Override
+    public boolean save(Activity activity) {
+        return activityMapper.insert(activity) > 0;
+    }
+
+    @Override
+    public boolean removeById(Integer activityid) {
+        return activityMapper.deleteById(activityid) > 0;
+    }
+
+    @Override
+    public boolean updateById(Activity activity) {
+        return activityMapper.updateById(activity) > 0;
+    }
+
+    @Override
+    public Activity getById(Integer activityid) {
+        return activityMapper.selectById(activityid);
+    }
+
+    // 新增:查询所有活动(不分是否显示)
+    @Override
+    public List<Activity> list() {
+        return activityMapper.selectList(null);
+    }
+
+    @Override
+    public List<Activity> searchByTitle(String title) {
+        QueryWrapper<Activity> queryWrapper = new QueryWrapper<>();
+        // 模糊匹配 title 字段
+        queryWrapper.like("title", title);
+        return activityMapper.selectList(queryWrapper);
+    }
+}