Browse Source

专题管理-热门标签

dev_shibei_match
zhaoqifeng 4 years ago
parent
commit
f49e0c52b4
  1. 19
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/PreviewResultDTO.java
  2. 18
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/SpecialSubjectController.java
  3. 2
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java
  4. 3
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/SpecialSubjectDao.java
  5. 2
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/SpecialSubjectEntity.java
  6. 11
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java
  7. 15
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/SpecialSubjectService.java
  8. 15
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java
  9. 38
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/SpecialSubjectServiceImpl.java
  10. 29
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml
  11. 11
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/SpecialSubjectDao.xml

19
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/PreviewResultDTO.java

@ -0,0 +1,19 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2021/7/16 14:26
*/
@Data
public class PreviewResultDTO implements Serializable {
private static final long serialVersionUID = 4801322472642418941L;
private String specialSubjectId;
private String tagName;
private List<ArticleListResultDTO> articleList;
}

18
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/SpecialSubjectController.java

@ -21,11 +21,9 @@ import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.AddSpecialSubjectFormDTO; import com.epmet.dto.form.*;
import com.epmet.dto.form.DelSpecialSubjectFormDTO;
import com.epmet.dto.form.HotSubjectTagFormDTO;
import com.epmet.dto.form.QuerySpecialSubFormDTO;
import com.epmet.dto.result.AddSpecialSubjectResultDTO; import com.epmet.dto.result.AddSpecialSubjectResultDTO;
import com.epmet.dto.result.PreviewResultDTO;
import com.epmet.dto.result.TagInfoResultDTO; import com.epmet.dto.result.TagInfoResultDTO;
import com.epmet.dto.result.WorkSpecialSubjectResultDTO; import com.epmet.dto.result.WorkSpecialSubjectResultDTO;
import com.epmet.service.SpecialSubjectService; import com.epmet.service.SpecialSubjectService;
@ -108,4 +106,16 @@ public class SpecialSubjectController {
formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setCustomerId(tokenDto.getCustomerId());
return new Result<List<TagInfoResultDTO>>().ok(specialSubjectService.hotSubjectTagList(formDTO)); return new Result<List<TagInfoResultDTO>>().ok(specialSubjectService.hotSubjectTagList(formDTO));
} }
/**
* 效果预览
* @author zhaoqifeng
* @date 2021/7/16 15:54
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.PreviewResultDTO>>
*/
@PostMapping("preview")
public Result<List<PreviewResultDTO>> preview(@RequestBody PreviewFormDTO formDTO) {
return new Result<List<PreviewResultDTO>>().ok(specialSubjectService.preview(formDTO));
}
} }

2
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java

@ -131,6 +131,8 @@ public interface ArticleDao extends BaseDao<ArticleEntity> {
**/ **/
List<ArticleListResultDTO> selectArticleList(@Param("gridId") String gridId, @Param("tagIdList") List<String> tagIdList); List<ArticleListResultDTO> selectArticleList(@Param("gridId") String gridId, @Param("tagIdList") List<String> tagIdList);
List<ArticleListResultDTO> selectArticleListByTag(@Param("tagId") String tagId, @Param("pageNo") Integer pageNo, @Param("pageSize") Integer pageSize);
/** /**
* @param gridId * @param gridId
* @param articleId * @param articleId

3
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/SpecialSubjectDao.java

@ -37,4 +37,7 @@ public interface SpecialSubjectDao extends BaseDao<SpecialSubjectEntity> {
int delSpecialSubject(@Param("id") String id, @Param("userId") String userId); int delSpecialSubject(@Param("id") String id, @Param("userId") String userId);
List<SpecialSubjectDTO> queryExistedList(@Param("orgId") String orgId,@Param("notList")List<String> notList); List<SpecialSubjectDTO> queryExistedList(@Param("orgId") String orgId,@Param("notList")List<String> notList);
SpecialSubjectEntity getInfo(@Param("tagId") String tagId);
} }

2
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/SpecialSubjectEntity.java

@ -44,7 +44,7 @@ public class SpecialSubjectEntity extends BaseEpmetEntity {
* 标签id * 标签id
*/ */
private String tagId; private String tagId;
private String tagName;
/** /**
* 新增此专题的用户id * 新增此专题的用户id
*/ */

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

@ -232,4 +232,15 @@ public interface ArticleService extends BaseService<ArticleEntity> {
* @date 2021/7/15 5:22 下午 * @date 2021/7/15 5:22 下午
*/ */
List<SubjectListResultDTO> subjectList(SubjectListFormDTO formDTO); List<SubjectListResultDTO> subjectList(SubjectListFormDTO formDTO);
/**
* 根据tag查找文章列表
* @author zhaoqifeng
* @date 2021/7/16 14:50
* @param tagId
* @param pageNo
* @param pageSize
* @return java.util.List<com.epmet.dto.result.ArticleListResultDTO>
*/
List<ArticleListResultDTO> getArticleListByTag(String tagId, Integer pageNo, Integer pageSize);
} }

15
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/SpecialSubjectService.java

@ -20,11 +20,9 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.SpecialSubjectDTO; import com.epmet.dto.SpecialSubjectDTO;
import com.epmet.dto.form.HotSubjectTagFormDTO; import com.epmet.dto.form.*;
import com.epmet.dto.result.PreviewResultDTO;
import com.epmet.dto.result.TagInfoResultDTO; import com.epmet.dto.result.TagInfoResultDTO;
import com.epmet.dto.form.AddSpecialSubjectFormDTO;
import com.epmet.dto.form.DelSpecialSubjectFormDTO;
import com.epmet.dto.form.QuerySpecialSubFormDTO;
import com.epmet.dto.result.AddSpecialSubjectResultDTO; import com.epmet.dto.result.AddSpecialSubjectResultDTO;
import com.epmet.dto.result.WorkSpecialSubjectResultDTO; import com.epmet.dto.result.WorkSpecialSubjectResultDTO;
import com.epmet.entity.SpecialSubjectEntity; import com.epmet.entity.SpecialSubjectEntity;
@ -138,4 +136,13 @@ public interface SpecialSubjectService extends BaseService<SpecialSubjectEntity>
* @date 2021-07-15 * @date 2021-07-15
*/ */
List<WorkSpecialSubjectResultDTO> queryExistedList(QuerySpecialSubFormDTO formDTO); List<WorkSpecialSubjectResultDTO> queryExistedList(QuerySpecialSubFormDTO formDTO);
/**
* 效果预览
* @author zhaoqifeng
* @date 2021/7/16 14:28
* @param formDTO
* @return java.util.List<com.epmet.dto.result.PreviewResultDTO>
*/
List<PreviewResultDTO> preview(PreviewFormDTO formDTO);
} }

15
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java

@ -1419,4 +1419,19 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
} }
return new ArrayList<>(); return new ArrayList<>();
} }
/**
* 根据tag查找文章列表
*
* @param tagId
* @param pageNo
* @param pageSize
* @return java.util.List<com.epmet.dto.result.ArticleListResultDTO>
* @author zhaoqifeng
* @date 2021/7/16 14:47
*/
@Override
public List<ArticleListResultDTO> getArticleListByTag(String tagId, Integer pageNo, Integer pageSize) {
return baseDao.selectArticleListByTag(tagId, pageNo, pageSize);
}
} }

38
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/SpecialSubjectServiceImpl.java

@ -33,13 +33,11 @@ import com.epmet.dao.SpecialSubjectDao;
import com.epmet.dto.SpecialSubjectDTO; import com.epmet.dto.SpecialSubjectDTO;
import com.epmet.dto.TagCustomerDTO; import com.epmet.dto.TagCustomerDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.AddSpecialSubjectResultDTO; import com.epmet.dto.result.*;
import com.epmet.dto.result.MineResultDTO;
import com.epmet.dto.result.TagInfoResultDTO;
import com.epmet.dto.result.WorkSpecialSubjectResultDTO;
import com.epmet.entity.SpecialSubjectEntity; import com.epmet.entity.SpecialSubjectEntity;
import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.redis.TagRedis; import com.epmet.redis.TagRedis;
import com.epmet.service.ArticleService;
import com.epmet.service.SpecialSubjectService; import com.epmet.service.SpecialSubjectService;
import com.epmet.service.TagCustomerService; import com.epmet.service.TagCustomerService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -68,9 +66,12 @@ import java.util.stream.Stream;
public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao, SpecialSubjectEntity> implements SpecialSubjectService { public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao, SpecialSubjectEntity> implements SpecialSubjectService {
@Autowired @Autowired
private TagCustomerService tagCustomerService; private TagCustomerService tagCustomerService;
@Resource @Resource
private TagRedis tagRedis; private TagRedis tagRedis;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Resource
private ArticleService articleService;
@Override @Override
public PageData<SpecialSubjectDTO> page(Map<String, Object> params) { public PageData<SpecialSubjectDTO> page(Map<String, Object> params) {
@ -123,8 +124,7 @@ public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao
// 逻辑删除(@TableLogic 注解) // 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids)); baseDao.deleteBatchIds(Arrays.asList(ids));
} }
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
/** /**
* 添加专题 * 添加专题
@ -242,6 +242,7 @@ public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao
} }
return resultDTOList; return resultDTOList;
} }
/** /**
* 热门标签列表 * 热门标签列表
* *
@ -268,4 +269,27 @@ public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao
return list; return list;
} }
/**
* 效果预览
*
* @param formDTO
* @return java.util.List<com.epmet.dto.result.PreviewResultDTO>
* @author zhaoqifeng
* @date 2021/7/16 14:28
*/
@Override
public List<PreviewResultDTO> preview(PreviewFormDTO formDTO) {
List<PreviewResultDTO> result = new ArrayList<>();
formDTO.getTagIdList().forEach(tagId -> {
PreviewResultDTO previewResultDTO = new PreviewResultDTO();
SpecialSubjectEntity subjectEntity = baseDao.getInfo(tagId);
previewResultDTO.setSpecialSubjectId(subjectEntity.getId());
previewResultDTO.setTagName(subjectEntity.getTagName());
previewResultDTO.setArticleList(articleService.getArticleListByTag(tagId, formDTO.getPageNo(), formDTO.getPageSize()));
result.add(previewResultDTO);
});
return result;
}
} }

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

@ -388,5 +388,34 @@
#{pid} #{pid}
</foreach> </foreach>
</select> </select>
<select id="selectArticleListByTag" resultType="com.epmet.dto.result.ArticleListResultDTO">
SELECT
art.ID AS articleId,
art.TITLE AS articleTitle,
art.PUBLISHER_NAME AS publishName,
art.PUBLISH_DATE AS publishDate,
IFNULL(art.PREVIEW_CONTENT,'') AS articleContent,
IFNULL(art.TAGS,'') AS tagName
FROM
ARTICLE art
INNER JOIN ARTICLE_PUBLISH_RANGE prange
ON art.ID = prange.ARTICLE_ID
AND
prange.DEL_FLAG = '0'
AND
prange.PUBLISH_STATUS = 'published'
WHERE
art.DEL_FLAG = '0'
AND art.STATUS_FLAG = 'published'
AND EXISTS(
SELECT 1
FROM ARTICLE_TAGS
WHERE DEL_FLAG = '0'
AND ARTICLE_ID = art.ID
AND TAG_ID=#{tagId}
)
ORDER BY art.PUBLISH_DATE DESC , art.CREATED_TIME DESC
LIMIT #{pageNo}, #{pageSize}
</select>
</mapper> </mapper>

11
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/SpecialSubjectDao.xml

@ -27,4 +27,15 @@
</if> </if>
order by ss.CREATED_TIME desc order by ss.CREATED_TIME desc
</select> </select>
<select id="getInfo" resultType="com.epmet.entity.SpecialSubjectEntity">
SELECT
ss.id,
TAG_NAME
FROM
special_subject ss
INNER JOIN tag_customer ts ON ss.tag_id = ts.id
WHERE
ss.del_flag = '0'
AND ss.tag_id = #{tagId}
</select>
</mapper> </mapper>
Loading…
Cancel
Save