Jelajahi Sumber

增加文章品类查询及修改接口

wangyunpeng 7 bulan lalu
induk
melakukan
7ef767cb27

+ 9 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/mapper/longArticle/LongArticleBaseMapper.java

@@ -6,6 +6,7 @@ import com.tzld.longarticle.recommend.server.model.dto.LongArticlesMatchVideos;
 import com.tzld.longarticle.recommend.server.model.dto.LongArticlesText;
 import com.tzld.longarticle.recommend.server.model.entity.longArticle.*;
 import com.tzld.longarticle.recommend.server.model.param.ArticleVideoPoolSourceParam;
+import com.tzld.longarticle.recommend.server.model.vo.ArticleCategoryListVO;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
@@ -67,4 +68,12 @@ public interface LongArticleBaseMapper {
     List<PublishSingleVideoSource> getPublishSingleVideoSource(ArticleVideoPoolSourceParam param);
 
     List<String> getFilterColdLongArticleTitle();
+
+    Integer articleCategoryCount(String title);
+
+    List<ArticleCategoryListVO> articleCategoryList(String title, Integer offset, Integer pageSize);
+
+    void updateArticleCategory(String title, String category);
+
+    void updateDatastatScoreCategory(String title, String category);
 }

+ 12 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/model/param/ArticleCategoryListParam.java

@@ -0,0 +1,12 @@
+package com.tzld.longarticle.recommend.server.model.param;
+
+
+import lombok.Data;
+
+@Data
+public class ArticleCategoryListParam {
+    private String title;
+
+    private Integer pageNum = 1;
+    private Integer pageSize = 50;
+}

+ 9 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/model/param/ArticleCategoryUpdateParam.java

@@ -0,0 +1,9 @@
+package com.tzld.longarticle.recommend.server.model.param;
+
+import lombok.Data;
+
+@Data
+public class ArticleCategoryUpdateParam {
+    private String title;
+    private String category;
+}

+ 12 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/model/vo/ArticleCategoryListVO.java

@@ -0,0 +1,12 @@
+package com.tzld.longarticle.recommend.server.model.vo;
+
+import lombok.Data;
+
+@Data
+public class ArticleCategoryListVO {
+
+    private String produceContentId;
+    private String title;
+    private String category;
+
+}

+ 36 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/recommend/ArticleCategoryService.java

@@ -0,0 +1,36 @@
+package com.tzld.longarticle.recommend.server.service.recommend;
+
+import com.tzld.longarticle.recommend.server.mapper.longArticle.LongArticleBaseMapper;
+import com.tzld.longarticle.recommend.server.model.param.ArticleCategoryListParam;
+import com.tzld.longarticle.recommend.server.model.param.ArticleCategoryUpdateParam;
+import com.tzld.longarticle.recommend.server.model.vo.ArticleCategoryListVO;
+import com.tzld.longarticle.recommend.server.util.page.Page;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+@Slf4j
+public class ArticleCategoryService {
+
+    @Autowired
+    private LongArticleBaseMapper longArticleBaseMapper;
+
+
+    public Page<ArticleCategoryListVO> articleCategoryList(ArticleCategoryListParam param) {
+        int offset = (param.getPageNum() - 1) * param.getPageSize();
+        int count = longArticleBaseMapper.articleCategoryCount(param.getTitle());
+        List<ArticleCategoryListVO> list = longArticleBaseMapper.articleCategoryList(param.getTitle(), offset, param.getPageSize());
+        Page<ArticleCategoryListVO> page = new Page<>(param.getPageNum(), param.getPageSize());
+        page.setTotalSize(count);
+        page.setObjs(list);
+        return page;
+    }
+
+    public void articleCategoryUpdate(ArticleCategoryUpdateParam param) {
+        longArticleBaseMapper.updateArticleCategory(param.getTitle(), param.getCategory());
+        longArticleBaseMapper.updateDatastatScoreCategory(param.getTitle(), param.getCategory());
+    }
+}

+ 33 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/web/recommend/ArticleCategoryController.java

@@ -0,0 +1,33 @@
+package com.tzld.longarticle.recommend.server.web.recommend;
+
+import com.tzld.longarticle.recommend.server.common.response.CommonResponse;
+import com.tzld.longarticle.recommend.server.model.param.ArticleCategoryListParam;
+import com.tzld.longarticle.recommend.server.model.param.ArticleCategoryUpdateParam;
+import com.tzld.longarticle.recommend.server.model.vo.ArticleCategoryListVO;
+import com.tzld.longarticle.recommend.server.service.recommend.ArticleCategoryService;
+import com.tzld.longarticle.recommend.server.util.page.Page;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/articleCategory")
+@Slf4j
+public class ArticleCategoryController {
+
+    @Autowired
+    private ArticleCategoryService service;
+
+    @PostMapping("/list")
+    @CrossOrigin
+    public CommonResponse<Page<ArticleCategoryListVO>> articleCategoryList(@RequestBody ArticleCategoryListParam param) {
+        return CommonResponse.success(service.articleCategoryList(param));
+    }
+
+    @PostMapping("/updateCategory")
+    @CrossOrigin
+    public CommonResponse<Void> articleCategoryUpdate(@RequestBody ArticleCategoryUpdateParam param) {
+        service.articleCategoryUpdate(param);
+        return CommonResponse.success();
+    }
+}

+ 32 - 0
long-article-recommend-service/src/main/resources/mapper/longArticle/LongArticleBaseMapper.xml

@@ -256,4 +256,36 @@
         </foreach>
     </insert>
 
+    <select id="articleCategoryList"
+            resultType="com.tzld.longarticle.recommend.server.model.vo.ArticleCategoryListVO">
+        select produce_content_id, title, category
+        from article_category
+        <where>
+            <if test="title != null and title != ''">
+                and title like concat('%', #{title}, '%')
+            </if>
+        </where>
+        limit #{offset}, #{pageSize}
+    </select>
+
+    <select id="articleCategoryCount" resultType="java.lang.Integer">
+        select count(1)
+        from article_category
+        <where>
+            <if test="title!= null and title!= ''">
+                and title like concat('%', #{title}, '%')
+            </if>
+        </where>
+    </select>
+
+    <update id="updateArticleCategory">
+        update article_category set category = #{category} where title = #{title};
+    </update>
+
+    <update id="updateDatastatScoreCategory">
+        update datastat_score
+        set original_category = category, category = #{category}
+        where title = #{title} and category != #{category};
+    </update>
+
 </mapper>