diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/SubjectArticleListFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/SubjectArticleListFormDTO.java new file mode 100644 index 0000000000..d5417bec01 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/SubjectArticleListFormDTO.java @@ -0,0 +1,33 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/7/15 2:05 下午 + * @DESC + */ +@Data +public class SubjectArticleListFormDTO implements Serializable { + + private static final long serialVersionUID = 7657974985102791998L; + + public interface SubjectArticleListForm extends CustomerClientShowGroup{}; + + @NotBlank(message = "网格ID不能为空",groups = SubjectArticleListForm.class) + private String gridId; + + @NotBlank(message = "标签ID不能为空",groups = SubjectArticleListForm.class) + private String tagId; + + @NotNull(message = "pageSize不能为空",groups = SubjectArticleListForm.class) + private Integer pageSize; + + @NotNull(message = "pageNo不能为空",groups = SubjectArticleListForm.class) + private Integer pageNo; +} diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/SubjectListFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/SubjectListFormDTO.java new file mode 100644 index 0000000000..41edf32d48 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/SubjectListFormDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/7/15 4:34 下午 + * @DESC + */ +@Data +public class SubjectListFormDTO implements Serializable { + + private static final long serialVersionUID = 6397877545890473794L; + + public interface SubjectListForm extends CustomerClientShowGroup{} + + @NotBlank(message = "网格ID不能为空",groups = SubjectListForm.class) + private String gridId; +} diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/SubjectArticleListResultDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/SubjectArticleListResultDTO.java new file mode 100644 index 0000000000..d280126528 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/SubjectArticleListResultDTO.java @@ -0,0 +1,47 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/7/15 2:11 下午 + * @DESC + */ +@Data +public class SubjectArticleListResultDTO implements Serializable { + + private static final long serialVersionUID = 2580894348808140034L; + + /** + * 文章标题 + */ + private String articleTitle; + + /** + * 文章内容 + */ + private String articleContent; + + /** + * 文章ID + */ + private String articleId; + + /** + * 发布者姓名 + */ + private String publisherName; + + /** + * 发布时间 + */ + private String publishDate; + + /** + * 标签名字集合 + */ + private String tagNames; + +} diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/SubjectListResultDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/SubjectListResultDTO.java new file mode 100644 index 0000000000..5740cca415 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/SubjectListResultDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/7/15 4:46 下午 + * @DESC + */ +@Data +public class SubjectListResultDTO implements Serializable { + + private static final long serialVersionUID = -7761847964768693672L; + + /** + * 专题ID + */ + private String specialSubjectId; + + /** + * 标签ID + */ + private String tagId; + + /** + * 专题名字 + */ + private String tagName; +} diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java index 8f9b03861f..7495fb6561 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java @@ -22,6 +22,7 @@ import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.DefaultGroup; @@ -39,6 +40,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.HashMap; import java.util.List; @@ -378,4 +380,28 @@ public class ArticleController { return new Result().ok(draftDetailResultDTO); } + /** + * @Description 专题文章列表 + * @Param formDTO + * @author zxc + * @date 2021/7/15 2:21 下午 + */ + @PostMapping("subjectarticlelist") + public Result> subjectArticleList(@RequestBody SubjectArticleListFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO,SubjectArticleListFormDTO.SubjectArticleListForm.class); + return new Result>().ok(articleService.subjectArticleList(formDTO)); + } + + /** + * @Description 专题列表 + * @Param formDTO + * @author zxc + * @date 2021/7/15 5:22 下午 + */ + @PostMapping("subjectlist") + public Result> subjectList(@RequestBody SubjectListFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, SubjectListFormDTO.SubjectListForm.class); + return new Result>().ok(articleService.subjectList(formDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java index b0c4af6252..82d269b257 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java @@ -16,6 +16,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.annotation.DataFilter; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.SubjectArticleListFormDTO; import com.epmet.dto.result.*; import com.epmet.dto.form.ResiTagListFormDTO; import com.epmet.dto.result.GovArticleContentDTO; @@ -146,4 +147,21 @@ public interface ArticleDao extends BaseDao { * @author zxc */ String getArticleIdByDraftId(@Param("draftId") String draftId); + + /** + * @Description 专题下的文章 + * @Param gridId + * @Param tagId + * @author zxc + * @date 2021/7/15 3:49 下午 + */ + List subjectArticleList(@Param("gridId") String gridId,@Param("tagId") String tagId); + + /** + * @Description 专题列表查询 + * @Param pidList + * @author zxc + * @date 2021/7/16 10:29 上午 + */ + List subjectList(@Param("pidList")List pidList); } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java index 634fcfa7f5..96da85b8b9 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java @@ -216,4 +216,20 @@ public interface ArticleService extends BaseService { * @return */ void manualPublish(TokenDto tokenDto, String draftId); + + /** + * @Description 专题文章列表 + * @Param formDTO + * @author zxc + * @date 2021/7/15 2:21 下午 + */ + List subjectArticleList(SubjectArticleListFormDTO formDTO); + + /** + * @Description 专题列表 + * @Param formDTO + * @author zxc + * @date 2021/7/15 5:22 下午 + */ + List subjectList(SubjectListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java index d7786573ff..01855ac3a7 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -1236,7 +1236,7 @@ public class ArticleServiceImpl extends BaseServiceImpl subjectArticleList(SubjectArticleListFormDTO formDTO) { + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + List result = baseDao.subjectArticleList(formDTO.getGridId(), formDTO.getTagId()); + if (!CollectionUtils.isEmpty(result)){ + return result; + } + return new ArrayList<>(); + } + + /** + * @Description 专题列表 + * @Param formDTO + * @author zxc + * @date 2021/7/15 5:22 下午 + */ + @Override + public List subjectList(SubjectListFormDTO formDTO) { + String gridId = formDTO.getGridId(); + Result pidsByGridId = govOrgOpenFeignClient.selectPidsByGridId(gridId); + if (!pidsByGridId.success()){ + throw new RenException("查询pids失败【"+pidsByGridId.getMsg()+"】"); + } + String pids = pidsByGridId.getData(); + List pidList = Arrays.stream(pids.split(":")).collect(Collectors.toList()); + pidList.add(gridId); + List result = baseDao.subjectList(pidList); + if (!CollectionUtils.isEmpty(result)){ + return result; + } + return new ArrayList<>(); + } } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml index b781bbd889..dd57d15464 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml @@ -347,4 +347,46 @@ AND a.draft_id = #{draftId} + + + + + +