Browse Source

议题详情-标签分类查询-两端公共

master
sunyuchao 5 years ago
parent
commit
11d79aac71
  1. 21
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CategoryTagListFormDTO.java
  2. 17
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueCategoryController.java
  3. 9
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueCategoryDao.java
  4. 9
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueTagsDao.java
  5. 11
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueCategoryService.java
  6. 30
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueCategoryServiceImpl.java
  7. 15
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueCategoryDao.xml
  8. 13
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueTagsDao.xml
  9. 27
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CategoryTagListResultDTO.java
  10. 25
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CategoryTagResultDTO.java

21
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CategoryTagListFormDTO.java

@ -0,0 +1,21 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 获取议题的分类标签列表-接口入参
* @Author sun
*/
@Data
public class CategoryTagListFormDTO implements Serializable {
private static final long serialVersionUID = 2599592072265715951L;
@NotBlank(message = "议题ID不能为空",groups = {CategoryTagListFormDTO.CategoryTag.class})
private String issueId;
public interface CategoryTag{}
}

17
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueCategoryController.java

@ -26,6 +26,11 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IssueCategoryDTO;
import com.epmet.dto.form.CategoryTagListFormDTO;
import com.epmet.dto.form.ClosedProjectIssueListFormDTO;
import com.epmet.dto.form.MyShiftIssueTopicsFormDTO;
import com.epmet.dto.result.CategoryTagListResultDTO;
import com.epmet.dto.result.LatestListResultDTO;
import com.epmet.excel.IssueCategoryExcel;
import com.epmet.service.IssueCategoryService;
import org.springframework.beans.factory.annotation.Autowired;
@ -91,4 +96,16 @@ public class IssueCategoryController {
ExcelUtils.exportExcelToTarget(response, null, list, IssueCategoryExcel.class);
}
/**
* @param formDTO
* @return
* @Description 获取议题的分类标签列表
* @Author sun
**/
@PostMapping("categorytaglist")
public Result<CategoryTagListResultDTO> categoryTagList(@RequestBody CategoryTagListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, CategoryTagListFormDTO.CategoryTag.class);
return new Result<CategoryTagListResultDTO>().ok(issueCategoryService.categoryTagList(formDTO));
}
}

9
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueCategoryDao.java

@ -18,8 +18,12 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.CategoryTagResultDTO;
import com.epmet.entity.IssueCategoryEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 议题所属分类表
@ -30,4 +34,9 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface IssueCategoryDao extends BaseDao<IssueCategoryEntity> {
/**
* @Description 查询议题绑定的分类名称按排序升序
* @Author sun
**/
List<CategoryTagResultDTO> selectIssueCategoryList(@Param("issueId") String issueId);
}

9
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueTagsDao.java

@ -18,8 +18,12 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.CategoryTagResultDTO;
import com.epmet.entity.IssueTagsEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 议题关联标签表
@ -30,4 +34,9 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface IssueTagsDao extends BaseDao<IssueTagsEntity> {
/**
* @Description 查询议题绑定的标签按绑定时间升序
* @Author sun
**/
List<CategoryTagResultDTO> selectIssueTagList(@Param("issueId") String issueId);
}

11
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueCategoryService.java

@ -20,6 +20,8 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IssueCategoryDTO;
import com.epmet.dto.form.CategoryTagListFormDTO;
import com.epmet.dto.result.CategoryTagListResultDTO;
import com.epmet.entity.IssueCategoryEntity;
import java.util.List;
@ -92,4 +94,13 @@ public interface IssueCategoryService extends BaseService<IssueCategoryEntity> {
* @date 2020-12-08
*/
void delete(String[] ids);
/**
* @param formDTO
* @return
* @Description 获取议题的分类标签列表
* @Author sun
**/
CategoryTagListResultDTO categoryTagList(CategoryTagListFormDTO formDTO);
}

30
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueCategoryServiceImpl.java

@ -20,11 +20,16 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.IssueCategoryDao;
import com.epmet.dao.IssueTagsDao;
import com.epmet.dto.IssueCategoryDTO;
import com.epmet.dto.form.CategoryTagListFormDTO;
import com.epmet.dto.result.CategoryTagListResultDTO;
import com.epmet.dto.result.CategoryTagResultDTO;
import com.epmet.entity.IssueCategoryEntity;
import com.epmet.redis.IssueCategoryRedis;
import com.epmet.service.IssueCategoryService;
@ -33,6 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@ -48,6 +54,8 @@ public class IssueCategoryServiceImpl extends BaseServiceImpl<IssueCategoryDao,
@Autowired
private IssueCategoryRedis issueCategoryRedis;
@Autowired
private IssueTagsDao issueTagsDao;
@Override
public PageData<IssueCategoryDTO> page(Map<String, Object> params) {
@ -101,4 +109,26 @@ public class IssueCategoryServiceImpl extends BaseServiceImpl<IssueCategoryDao,
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @param formDTO
* @return
* @Description 获取议题的分类标签列表
* @Author sun
**/
@Override
public CategoryTagListResultDTO categoryTagList(CategoryTagListFormDTO formDTO) {
CategoryTagListResultDTO resultDTO = new CategoryTagListResultDTO();
//1.查询议题绑定的分类名称,按排序升序
List<CategoryTagResultDTO> categoryList = baseDao.selectIssueCategoryList(formDTO.getIssueId());
if (categoryList.size() > NumConstant.ZERO) {
resultDTO.setCategoryList(categoryList);
}
//2.查询议题绑定的标签,按绑定时间升序
List<CategoryTagResultDTO> tagList = issueTagsDao.selectIssueTagList(formDTO.getIssueId());
if (tagList.size() > NumConstant.ZERO) {
resultDTO.setTagList(tagList);
}
return resultDTO;
}
}

15
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueCategoryDao.xml

@ -3,6 +3,19 @@
<mapper namespace="com.epmet.dao.IssueCategoryDao">
<select id="selectIssueCategoryList" resultType="com.epmet.dto.result.CategoryTagResultDTO">
SELECT
ic.category_id AS "id",
ip.category_name AS "name"
FROM
issue_category ic
INNER JOIN issue_project_category_dict ip ON ic.category_id = ip.id
WHERE
ic.del_flag = '0'
AND ip.del_flag = '0'
AND ic.issue_id = #{issueId}
ORDER BY
ip.sort ASC
</select>
</mapper>

13
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueTagsDao.xml

@ -3,6 +3,17 @@
<mapper namespace="com.epmet.dao.IssueTagsDao">
<select id="selectIssueTagList" resultType="com.epmet.dto.result.CategoryTagResultDTO">
SELECT
it.tag_id AS "id",
it.tag_name AS "name"
FROM
issue_tags it
WHERE
it.del_flag = '0'
AND it.issue_id = #{issueId}
ORDER BY
it.created_time ASC
</select>
</mapper>

27
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CategoryTagListResultDTO.java

@ -0,0 +1,27 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @Description 获取议题的分类标签列表-接口返参
* @Author sun
*/
@Data
public class CategoryTagListResultDTO implements Serializable {
private static final long serialVersionUID = 5957826616179876849L;
/**
* 类别集合
*/
private List<CategoryTagResultDTO> categoryList = new ArrayList<>();
/**
* 标签集合
*/
private List<CategoryTagResultDTO> tagList = new ArrayList<>();
}

25
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CategoryTagResultDTO.java

@ -0,0 +1,25 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 获取议题的分类标签列表-接口返参
* @Author sun
*/
@Data
public class CategoryTagResultDTO implements Serializable {
private static final long serialVersionUID = 5957826616179876849L;
/**
* 分类或标签Id
*/
private String id;
/**
* 分类或标签名称
*/
private String name;
}
Loading…
Cancel
Save