Browse Source

专题文章列表,专题列表

dev_shibei_match
zxc 4 years ago
parent
commit
3026be62aa
  1. 33
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/SubjectArticleListFormDTO.java
  2. 23
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/SubjectListFormDTO.java
  3. 47
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/SubjectArticleListResultDTO.java
  4. 31
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/SubjectListResultDTO.java
  5. 26
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java
  6. 18
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java
  7. 16
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java
  8. 41
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java
  9. 42
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml

33
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;
}

23
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;
}

47
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;
}

31
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;
}

26
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<DraftDetailResultDTO>().ok(draftDetailResultDTO);
}
/**
* @Description 专题文章列表
* @Param formDTO
* @author zxc
* @date 2021/7/15 2:21 下午
*/
@PostMapping("subjectarticlelist")
public Result<List<SubjectArticleListResultDTO>> subjectArticleList(@RequestBody SubjectArticleListFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,SubjectArticleListFormDTO.SubjectArticleListForm.class);
return new Result<List<SubjectArticleListResultDTO>>().ok(articleService.subjectArticleList(formDTO));
}
/**
* @Description 专题列表
* @Param formDTO
* @author zxc
* @date 2021/7/15 5:22 下午
*/
@PostMapping("subjectlist")
public Result<List<SubjectListResultDTO>> subjectList(@RequestBody SubjectListFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, SubjectListFormDTO.SubjectListForm.class);
return new Result<List<SubjectListResultDTO>>().ok(articleService.subjectList(formDTO));
}
}

18
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<ArticleEntity> {
* @author zxc
*/
String getArticleIdByDraftId(@Param("draftId") String draftId);
/**
* @Description 专题下的文章
* @Param gridId
* @Param tagId
* @author zxc
* @date 2021/7/15 3:49 下午
*/
List<SubjectArticleListResultDTO> subjectArticleList(@Param("gridId") String gridId,@Param("tagId") String tagId);
/**
* @Description 专题列表查询
* @Param pidList
* @author zxc
* @date 2021/7/16 10:29 上午
*/
List<SubjectListResultDTO> subjectList(@Param("pidList")List<String> pidList);
}

16
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java

@ -216,4 +216,20 @@ public interface ArticleService extends BaseService<ArticleEntity> {
* @return
*/
void manualPublish(TokenDto tokenDto, String draftId);
/**
* @Description 专题文章列表
* @Param formDTO
* @author zxc
* @date 2021/7/15 2:21 下午
*/
List<SubjectArticleListResultDTO> subjectArticleList(SubjectArticleListFormDTO formDTO);
/**
* @Description 专题列表
* @Param formDTO
* @author zxc
* @date 2021/7/15 5:22 下午
*/
List<SubjectListResultDTO> subjectList(SubjectListFormDTO formDTO);
}

41
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<ArticleDao, ArticleEntit
}
/**
/**
* @param draftId
* @Description 更新DB的标签使用次数 政府端
* @author zxc
@ -1380,4 +1380,43 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
});
articleTagsDao.addArticleTags(addArticleTags);
}
/**
* @Description 专题文章列表
* @Param formDTO
* @author zxc
* @date 2021/7/15 2:21 下午
*/
@Override
public List<SubjectArticleListResultDTO> subjectArticleList(SubjectArticleListFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<SubjectArticleListResultDTO> 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<SubjectListResultDTO> subjectList(SubjectListFormDTO formDTO) {
String gridId = formDTO.getGridId();
Result<String> pidsByGridId = govOrgOpenFeignClient.selectPidsByGridId(gridId);
if (!pidsByGridId.success()){
throw new RenException("查询pids失败【"+pidsByGridId.getMsg()+"】");
}
String pids = pidsByGridId.getData();
List<String> pidList = Arrays.stream(pids.split(":")).collect(Collectors.toList());
pidList.add(gridId);
List<SubjectListResultDTO> result = baseDao.subjectList(pidList);
if (!CollectionUtils.isEmpty(result)){
return result;
}
return new ArrayList<>();
}
}

42
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml

@ -347,4 +347,46 @@
AND a.draft_id = #{draftId}
</select>
<!-- 专题下的文章 -->
<select id="subjectArticleList" resultType="com.epmet.dto.result.SubjectArticleListResultDTO">
SELECT
art.ID AS articleId,
art.TITLE AS articleTitle,
art.PUBLISHER_NAME AS publisherName,
art.PUBLISH_DATE AS publishDate,
IFNULL( art.PREVIEW_CONTENT, '' ) AS articleContent,
IFNULL( art.TAGS, '' ) AS tagNames
FROM ARTICLE art
LEFT JOIN ARTICLE_PUBLISH_RANGE prange ON
(art.ID = prange.ARTICLE_ID AND prange.DEL_FLAG = '0' AND prange.PUBLISH_STATUS = 'published' AND prange.GRID_ID = #{gridId} )
LEFT JOIN article_tags ats ON (ats.ARTICLE_ID = art.ID)
WHERE
art.DEL_FLAG = '0'
AND art.STATUS_FLAG = 'published'
AND ats.TAG_ID = #{tagId}
ORDER BY
art.PUBLISH_DATE DESC,
art.CREATED_TIME DESC
</select>
<!-- 专题列表查询 -->
<select id="subjectList" resultType="com.epmet.dto.result.SubjectListResultDTO">
SELECT
ss.ID AS specialSubjectId,
ss.TAG_ID,
tc.TAG_NAME
FROM special_subject ss
LEFT JOIN tag_customer tc ON (tc.ID = ss.TAG_ID AND tc.DEL_FLAG = 0)
WHERE ss.DEL_FLAG = '0'
AND (
<foreach collection="pidList" item="pid" separator=" OR ">
ss.ADD_ORG_ID = #{pid}
</foreach>
)
order by
<foreach collection="pidList" item="pid" separator=" , ">
#{pid}
</foreach>
</select>
</mapper>

Loading…
Cancel
Save