post第三次上传

Change-Id: I8ee9f57af704012dc22a69771fae4053258bad01
diff --git a/src/main/java/com/pt5/pthouduan/service/PostService.java b/src/main/java/com/pt5/pthouduan/service/PostService.java
new file mode 100644
index 0000000..fabf254
--- /dev/null
+++ b/src/main/java/com/pt5/pthouduan/service/PostService.java
@@ -0,0 +1,46 @@
+package com.pt5.pthouduan.service;
+
+import com.pt5.pthouduan.entity.Post;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  帖子服务接口
+ * </p>
+ *
+ * 功能:
+ *  - 增、删、改、查(按标签或标题)
+ *  - 点赞、取消点赞
+ *  - 设置置顶状态
+ *  - 可设置可见范围
+ *  - 上传图片(通常可选放在 Controller)
+ *  - 查找用户所有帖子
+ *  - 查找置顶帖子
+ *  - 获取所有帖子(置顶优先,时间倒序)
+ *
+ * @author 杨蔓
+ * @since 2025-04-14
+ */
+public interface PostService {
+
+    Post createPost(Post post);                      // 创建帖子
+
+    boolean deletePost(Integer postid);              // 删除帖子
+
+    boolean updatePost(Post post);                   // 更新帖子
+
+    List<Post> searchPostsByKeyword(String keyword); // 查找帖子(标题或标签)
+
+    boolean incrementLikes(Integer postid);          // 点赞(likes + 1)
+
+    boolean decrementLikes(Integer postid);          // 取消点赞(likes - 1,最小为0)
+
+    boolean setPinnedStatus(Integer postid, boolean pinned); // 设置是否置顶
+
+    List<Post> findByUserid(Long userid);            // 根据用户 ID 获取帖子
+
+    List<Post> findPinnedPosts();                    // 查找所有置顶帖子
+
+    List<Post> getAllPostsSorted();                  // ✅ 获取所有帖子(置顶优先,按时间排序)
+}
diff --git a/src/main/java/com/pt5/pthouduan/service/impl/PostServiceImpl.java b/src/main/java/com/pt5/pthouduan/service/impl/PostServiceImpl.java
new file mode 100644
index 0000000..d1bda7f
--- /dev/null
+++ b/src/main/java/com/pt5/pthouduan/service/impl/PostServiceImpl.java
@@ -0,0 +1,76 @@
+package com.pt5.pthouduan.service.impl;
+
+import com.pt5.pthouduan.entity.Post;
+import com.pt5.pthouduan.mapper.PostMapper;
+import com.pt5.pthouduan.service.PostService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  帖子服务实现类
+ * </p>
+ *
+ * @author 杨蔓
+ * @since 2025-04-14
+ */
+@Service
+public class PostServiceImpl implements PostService {
+
+    @Autowired
+    private PostMapper postMapper;
+
+    @Override
+    public Post createPost(Post post) {
+        postMapper.save(post);
+        return post;
+    }
+
+    @Override
+    public boolean deletePost(Integer postid) {
+        return postMapper.deleteByPostid(postid) > 0;
+    }
+
+    @Override
+    public boolean updatePost(Post post) {
+        return postMapper.updatePost(post) > 0;
+    }
+
+    @Override
+    public List<Post> searchPostsByKeyword(String keyword) {
+        return postMapper.searchByKeyword(keyword);
+    }
+
+    @Override
+    public boolean incrementLikes(Integer postid) {
+        return postMapper.incrementLikes(postid) >= 0;
+    }
+
+    @Override
+    public boolean decrementLikes(Integer postid) {
+        return postMapper.decrementLikes(postid) >= 0;
+    }
+
+    @Override
+    public boolean setPinnedStatus(Integer postid, boolean pinned) {
+        return postMapper.updatePinnedStatus(postid, pinned) > 0;
+    }
+
+    @Override
+    public List<Post> findByUserid(Long userid) {
+        return postMapper.findByUserid(userid);
+    }
+
+    @Override
+    public List<Post> findPinnedPosts() {
+        return postMapper.findPinnedPosts();
+    }
+
+    /** ✅ 新增:获取所有帖子(置顶优先,时间倒序) */
+    @Override
+    public List<Post> getAllPostsSorted() {
+        return postMapper.selectAllSorted();
+    }
+}