Browse Source

分类标签初始化

dev_shibei_match
zhaoqifeng 5 years ago
parent
commit
b2739fba45
  1. 16
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CategoryTagInitFormDTO.java
  2. 14
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectCategoryDictController.java
  3. 8
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java
  4. 21
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectTagDictDao.java
  5. 10
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectCategoryDictService.java
  6. 9
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectTagDictService.java
  7. 34
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java
  8. 18
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectTagDictServiceImpl.java
  9. 15
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml
  10. 30
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectTagDictDao.xml

16
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CategoryTagInitFormDTO.java

@ -0,0 +1,16 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/12/10 10:00
*/
@Data
public class CategoryTagInitFormDTO implements Serializable {
private static final long serialVersionUID = -3420775041990761296L;
private String customerId;
}

14
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectCategoryDictController.java

@ -26,6 +26,7 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.IssueProjectCategoryDictDTO;
import com.epmet.dto.form.CategoryTagInitFormDTO;
import com.epmet.dto.form.CustomerCategoryListFormDTO;
import com.epmet.dto.form.ProjectSaveCategoryFormDTO;
import com.epmet.dto.result.CustomerCategoryListResultDTO;
@ -107,6 +108,19 @@ public class IssueProjectCategoryDictController {
return new Result<List<CustomerCategoryListResultDTO>>().ok(issueProjectCategoryDictService.categoryList(formDTO));
}
/**
* 客户分类标签数据初始化
* @author zhaoqifeng
* @date 2020/12/10 10:02
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
*/
@PostMapping("init")
public Result init(@RequestBody CategoryTagInitFormDTO formDTO) {
issueProjectCategoryDictService.init(formDTO);
return new Result();
}
/**
* @param cstegoryIdList
* @return

8
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java

@ -46,6 +46,14 @@ public interface IssueProjectCategoryDictDao extends BaseDao<IssueProjectCategor
**/
List<CustomerCategoryListResultDTO> subCategoryList(@Param("id") String categoryId);
/**
* 获取默认标签配置
* @author zhaoqifeng
* @date 2020/12/10 10:06
* @return java.util.List<com.epmet.entity.IssueProjectCategoryDictEntity>
*/
List<IssueProjectCategoryDictEntity> selectCategoryListByCustomer(@Param("customerId") String customerId);
/**
* @param cstegoryIdList
* @return

21
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectTagDictDao.java

@ -18,8 +18,12 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.IssueCategoryTagResultDTO;
import com.epmet.entity.IssueProjectTagDictEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 议题项目标签字典表
@ -29,5 +33,22 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IssueProjectTagDictDao extends BaseDao<IssueProjectTagDictEntity> {
/**
* 获取客户默认分类标签
* @author zhaoqifeng
* @date 2020/12/10 9:26
* @param customerId
* @param list
* @return java.util.List<com.epmet.dto.result.IssueCategoryTagResultDTO>
*/
List<IssueCategoryTagResultDTO> selectDefaultList(@Param("customerId") String customerId, @Param("list") List<String> list);
/**
* 获取默认标签配置
* @author zhaoqifeng
* @date 2020/12/10 10:09
* @param customerId
* @return java.util.List<com.epmet.entity.IssueProjectTagDictEntity>
*/
List<IssueProjectTagDictEntity> selectTagListByCustomer(@Param("customerId") String customerId);
}

10
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectCategoryDictService.java

@ -20,6 +20,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IssueProjectCategoryDictDTO;
import com.epmet.dto.form.CategoryTagInitFormDTO;
import com.epmet.dto.form.CustomerCategoryListFormDTO;
import com.epmet.dto.form.ProjectSaveCategoryFormDTO;
import com.epmet.dto.result.CustomerCategoryListResultDTO;
@ -105,6 +106,15 @@ public interface IssueProjectCategoryDictService extends BaseService<IssueProjec
**/
List<CustomerCategoryListResultDTO> categoryList(CustomerCategoryListFormDTO formDTO);
/**
* 客户分类标签数据初始化
* @author zhaoqifeng
* @date 2020/12/10 10:02
* @param formDTO
* @return void
*/
void init(CategoryTagInitFormDTO formDTO);
/**
* @param cstegoryIdList
* @return

9
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectTagDictService.java

@ -105,4 +105,13 @@ public interface IssueProjectTagDictService extends BaseService<IssueProjectTagD
* @return com.epmet.dto.result.TagListResultDTO
*/
TagListResultDTO getTagList(TokenDto tokenDto, TagListFormDTO formDTO);
/**
* 获取默认标签配置
* @author zhaoqifeng
* @date 2020/12/10 10:12
* @param
* @return java.util.List<com.epmet.entity.IssueProjectTagDictEntity>
*/
List<IssueProjectTagDictEntity> getTagListByCustomer(String customerId);
}

34
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java

@ -28,6 +28,7 @@ import com.epmet.dao.IssueProjectCategoryDictDao;
import com.epmet.dao.IssueProjectRelationDao;
import com.epmet.dto.IssueDTO;
import com.epmet.dto.IssueProjectCategoryDictDTO;
import com.epmet.dto.form.CategoryTagInitFormDTO;
import com.epmet.dto.form.CustomerCategoryListFormDTO;
import com.epmet.dto.form.ProjectSaveCategoryFormDTO;
import com.epmet.dto.form.SaveIssueCategoryFormDTO;
@ -36,8 +37,11 @@ import com.epmet.dto.result.ProjectCategoryDTOResultDTO;
import com.epmet.dto.result.ProjectIssueCategoryResultDTO;
import com.epmet.dto.result.ProjectIssueDTOResultDTO;
import com.epmet.entity.IssueProjectCategoryDictEntity;
import com.epmet.entity.IssueProjectTagDictEntity;
import com.epmet.redis.IssueProjectCategoryDictRedis;
import com.epmet.service.IssueProjectCategoryDictService;
import com.epmet.service.IssueProjectTagDictService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -61,6 +65,8 @@ public class IssueProjectCategoryDictServiceImpl extends BaseServiceImpl<IssuePr
private IssueProjectCategoryDictRedis issueProjectCategoryDictRedis;
@Autowired
private IssueProjectRelationDao issueProjectRelationDao;
@Autowired
private IssueProjectTagDictService issueProjectTagDictService;
@Override
public PageData<IssueProjectCategoryDictDTO> page(Map<String, Object> params) {
@ -165,4 +171,32 @@ public class IssueProjectCategoryDictServiceImpl extends BaseServiceImpl<IssuePr
return resultDTO;
}
/**
* 客户分类标签数据初始化
*
* @param formDTO
* @return void
* @author zhaoqifeng
* @date 2020/12/10 10:02
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void init(CategoryTagInitFormDTO formDTO) {
List<IssueProjectCategoryDictEntity> list = baseDao.selectCategoryListByCustomer(formDTO.getCustomerId());
if (CollectionUtils.isEmpty(list)) {
//分类初始化
List<IssueProjectCategoryDictEntity> categoryList = baseDao.selectCategoryListByCustomer("default");
categoryList.forEach(item -> {
item.setCustomerId(formDTO.getCustomerId());
});
this.insertBatch(categoryList);
//标签初始化
List<IssueProjectTagDictEntity> tagList = issueProjectTagDictService.getTagListByCustomer("default");
tagList.forEach(item -> {
item.setCustomerId(formDTO.getCustomerId());
});
issueProjectTagDictService.insertBatch(tagList);
}
}
}

18
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectTagDictServiceImpl.java

@ -27,6 +27,7 @@ import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.IssueProjectTagDictDao;
import com.epmet.dto.IssueProjectTagDictDTO;
import com.epmet.dto.form.TagListFormDTO;
import com.epmet.dto.result.IssueCategoryTagResultDTO;
import com.epmet.dto.result.TagListResultDTO;
import com.epmet.entity.IssueProjectTagDictEntity;
import com.epmet.redis.IssueProjectTagDictRedis;
@ -115,7 +116,22 @@ public class IssueProjectTagDictServiceImpl extends BaseServiceImpl<IssueProject
*/
@Override
public TagListResultDTO getTagList(TokenDto tokenDto, TagListFormDTO formDTO) {
return null;
TagListResultDTO result = new TagListResultDTO();
List<IssueCategoryTagResultDTO> defaultList = baseDao.selectDefaultList(tokenDto.getCustomerId(), formDTO.getCategoryIdList());
result.setDefaulted(defaultList);
return result;
}
/**
* 获取默认标签配置
*
* @return java.util.List<com.epmet.entity.IssueProjectTagDictEntity>
* @author zhaoqifeng
* @date 2020/12/10 10:12
*/
@Override
public List<IssueProjectTagDictEntity> getTagListByCustomer(String customerId) {
return baseDao.selectTagListByCustomer(customerId);
}
}

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

@ -35,6 +35,21 @@
ORDER BY sort ASC
</select>
<!-- sql递归 查询客户议题项目的分类信息以及递归查询二级分类信息 end-->
<select id="selectCategoryListByCustomer" resultType="com.epmet.entity.IssueProjectCategoryDictEntity">
SELECT
ID,
PID,
PIDS,
CATEGORY_CODE,
CATEGORY_NAME,
CATEGORY_TYPE,
SORT
FROM
issue_project_category_dict
WHERE
DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
</select>
<select id="selectCategoryList" resultType="com.epmet.dto.IssueProjectCategoryDictDTO">
SELECT

30
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectTagDictDao.xml

@ -3,6 +3,34 @@
<mapper namespace="com.epmet.dao.IssueProjectTagDictDao">
<select id="selectDefaultList" resultType="com.epmet.dto.result.IssueCategoryTagResultDTO">
SELECT
TAG_ID AS "id",
TAG_NAME AS "name"
FROM
issue_tags
WHERE
DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
<if test="list != null and list.size() > 0">
<foreach item="category" collection="list" separator="OR" open="AND (" close=")" index="">
CATEGORY_ID = #{category}
</foreach>
</if>
ORDER BY TAG_ID
</select>
<select id="selectTagListByCustomer" resultType="com.epmet.entity.IssueProjectTagDictEntity">
SELECT
TAG_NAME,
CATEGORY_ID,
IS_DEFAULT,
ISSUE_USE_COUNT,
PROJECT_USE_COUNT
FROM
issue_project_tag_dict
WHERE
DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
</select>
</mapper>
Loading…
Cancel
Save