소스 검색

封装对象

xueyiming 9 달 전
부모
커밋
31cf67a0e1

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

@@ -0,0 +1,36 @@
+package com.tzld.longarticle.recommend.server.common.enums;
+
+import java.util.Objects;
+
+public enum GhTypeEnum {
+
+    GH(1, "内部公众号"),
+    THIRD_PARTY_GH(2, "外部公众号"),
+    WE_COM(3, "企业微信");
+
+    GhTypeEnum(Integer type, String name) {
+        this.type = type;
+        this.name = name;
+    }
+
+    public final Integer type;
+
+    public final String name;
+
+
+    public static String getTypeName(Integer type) {
+        if (type == null) {
+            return null;
+        }
+        for (GhTypeEnum ghTypeEnum : GhTypeEnum.values()) {
+            if (Objects.equals(ghTypeEnum.type, type)) {
+                return ghTypeEnum.name;
+            }
+        }
+        return null;
+    }
+
+
+
+
+}

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

@@ -0,0 +1,27 @@
+package com.tzld.longarticle.recommend.server.model.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class GhDetailVo {
+
+    private Long id;
+
+    private String ghId;
+
+    private String ghName;
+
+    private Integer type;
+
+    private String typeName;
+
+    private String category1;
+
+    private String category2;
+
+    private Date createTime;
+
+    private Date updateTime;
+}

+ 4 - 3
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/exterior/GhDetailService.java

@@ -1,16 +1,17 @@
 package com.tzld.longarticle.recommend.server.service.exterior;
 
 import com.tzld.longarticle.recommend.server.common.response.CommonResponse;
+import com.tzld.longarticle.recommend.server.model.vo.GhDetailVo;
 import com.tzld.longarticle.recommend.server.repository.model.GhDetail;
 import com.tzld.longarticle.recommend.server.util.page.Page;
 
 public interface GhDetailService {
 
-    CommonResponse<Page<GhDetail>> getGhDetailList(Integer pageNum, Integer pageSize);
+    CommonResponse<Page<GhDetailVo>> getGhDetailList(Integer pageNum, Integer pageSize);
 
-    CommonResponse<Void> addGhDetail(GhDetail ghDetail);
+    CommonResponse<Void> addGhDetail(GhDetailVo ghDetailVo);
 
-    CommonResponse<Void> updateDetail(GhDetail ghDetail);
+    CommonResponse<Void> updateDetail(GhDetailVo ghDetailVo);
 
     CommonResponse<Void> refreshGhDetail();
 }

+ 22 - 5
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/exterior/impl/GhDetailServiceImpl.java

@@ -2,19 +2,23 @@ package com.tzld.longarticle.recommend.server.service.exterior.impl;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.tzld.longarticle.recommend.server.common.enums.GhTypeEnum;
 import com.tzld.longarticle.recommend.server.common.response.CommonResponse;
 import com.tzld.longarticle.recommend.server.mapper.crawler.GhDetailMapper;
+import com.tzld.longarticle.recommend.server.model.vo.GhDetailVo;
 import com.tzld.longarticle.recommend.server.repository.model.GhDetail;
 import com.tzld.longarticle.recommend.server.repository.model.GhDetailExample;
 import com.tzld.longarticle.recommend.server.service.exterior.GhDetailService;
 import com.tzld.longarticle.recommend.server.util.page.Page;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.reactive.function.client.WebClient;
 import reactor.core.publisher.Mono;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Slf4j
@@ -25,7 +29,7 @@ public class GhDetailServiceImpl implements GhDetailService {
     private GhDetailMapper ghDetailMapper;
 
     @Override
-    public CommonResponse<Page<GhDetail>> getGhDetailList(Integer pageNum, Integer pageSize) {
+    public CommonResponse<Page<GhDetailVo>> getGhDetailList(Integer pageNum, Integer pageSize) {
         if (pageNum == null) {
             pageNum = 1;
         }
@@ -35,7 +39,7 @@ public class GhDetailServiceImpl implements GhDetailService {
         if (pageSize > 100) {
             pageSize = 100;
         }
-        Page<GhDetail> page = new Page<>();
+        Page<GhDetailVo> page = new Page<>();
         page.setCurrentPage(pageNum);
         page.setPageSize(pageSize);
         GhDetailExample example = new GhDetailExample();
@@ -44,13 +48,24 @@ public class GhDetailServiceImpl implements GhDetailService {
         int totalSize = (int) (total % pageSize == 0 ? (total / pageSize) : (total / pageSize + 1));
         page.setTotalSize(totalSize);
         List<GhDetail> ghDetails = ghDetailMapper.selectByExample(example);
-        page.setObjs(ghDetails);
+        List<GhDetailVo> ghDetailVos = new ArrayList<>();
+        if (!CollectionUtils.isEmpty(ghDetails)) {
+            for (GhDetail ghDetail : ghDetails) {
+                GhDetailVo ghDetailVo = new GhDetailVo();
+                BeanUtils.copyProperties(ghDetail, ghDetailVo);
+                ghDetailVo.setTypeName(GhTypeEnum.getTypeName(ghDetailVo.getType()));
+                ghDetailVos.add(ghDetailVo);
+            }
+        }
+        page.setObjs(ghDetailVos);
         return CommonResponse.success(page);
     }
 
     @Override
-    public CommonResponse<Void> addGhDetail(GhDetail ghDetail) {
+    public CommonResponse<Void> addGhDetail(GhDetailVo ghDetailVo) {
         try {
+            GhDetail ghDetail = new GhDetail();
+            BeanUtils.copyProperties(ghDetailVo, ghDetail);
             ghDetailMapper.insert(ghDetail);
             return CommonResponse.success();
         } catch (Exception e) {
@@ -60,8 +75,10 @@ public class GhDetailServiceImpl implements GhDetailService {
     }
 
     @Override
-    public CommonResponse<Void> updateDetail(GhDetail ghDetail) {
+    public CommonResponse<Void> updateDetail(GhDetailVo ghDetailVo) {
         try {
+            GhDetail ghDetail = new GhDetail();
+            BeanUtils.copyProperties(ghDetailVo, ghDetail);
             ghDetailMapper.updateByPrimaryKeySelective(ghDetail);
             return CommonResponse.success();
         } catch (Exception e) {

+ 14 - 5
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/web/GhDetailController.java

@@ -1,7 +1,9 @@
 package com.tzld.longarticle.recommend.server.web;
 
 
+import com.tzld.longarticle.recommend.server.common.enums.GhTypeEnum;
 import com.tzld.longarticle.recommend.server.common.response.CommonResponse;
+import com.tzld.longarticle.recommend.server.model.vo.GhDetailVo;
 import com.tzld.longarticle.recommend.server.repository.model.GhDetail;
 import com.tzld.longarticle.recommend.server.service.exterior.GhDetailService;
 import com.tzld.longarticle.recommend.server.util.page.Page;
@@ -9,6 +11,9 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Arrays;
+import java.util.List;
+
 @Slf4j
 @RestController
 @RequestMapping("/gh")
@@ -18,18 +23,18 @@ public class GhDetailController {
     private GhDetailService ghDetailService;
 
     @GetMapping("/getList")
-    public CommonResponse<Page<GhDetail>> getGhDetailList(@RequestParam Integer pageNum, @RequestParam Integer pageSize) {
+    public CommonResponse<Page<GhDetailVo>> getGhDetailList(@RequestParam Integer pageNum, @RequestParam Integer pageSize) {
         return ghDetailService.getGhDetailList(pageNum, pageSize);
     }
 
     @PostMapping("/add")
-    public CommonResponse<Void> addGhDetail(@RequestBody GhDetail detail) {
-        return ghDetailService.addGhDetail(detail);
+    public CommonResponse<Void> addGhDetail(@RequestBody GhDetailVo detailVo) {
+        return ghDetailService.addGhDetail(detailVo);
     }
 
     @PostMapping("/update")
-    public CommonResponse<Void> updateGhDetail(@RequestBody GhDetail detail) {
-        return ghDetailService.updateDetail(detail);
+    public CommonResponse<Void> updateGhDetail(@RequestBody GhDetailVo detailVo) {
+        return ghDetailService.updateDetail(detailVo);
     }
 
     @GetMapping("/refresh")
@@ -37,4 +42,8 @@ public class GhDetailController {
         return ghDetailService.refreshGhDetail();
     }
 
+    @GetMapping("/types")
+    public CommonResponse<List<GhTypeEnum>> getAllGhTypes() {
+        return CommonResponse.success(Arrays.asList(GhTypeEnum.values()));
+    }
 }