From 5be7fdea0ea1b3b73a653ff3faceddc6c5c503cd Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 19 Mar 2021 17:03:41 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=88=86=E7=B1=BBdb=E8=B0=83=E6=95=B4=E5=BC=95=E8=B5=B7?= =?UTF-8?q?=E7=9A=84=E4=BB=A3=E7=A0=81=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/form/IssueTagsFormDTO.java | 5 +++++ .../com/epmet/dao/IssueProjectCategoryDictDao.java | 2 +- .../epmet/service/impl/IssueCategoryServiceImpl.java | 2 ++ .../impl/IssueProjectCategoryDictServiceImpl.java | 2 +- .../com/epmet/service/impl/IssueTagsServiceImpl.java | 2 ++ .../src/main/java/com/epmet/utils/ModuleConstants.java | 8 ++++++++ .../resources/mapper/IssueProjectCategoryDictDao.xml | 2 ++ .../src/main/resources/mapper/IssueTagsDao.xml | 3 ++- .../epmet/dto/result/ProjectCategoryDTOResultDTO.java | 10 ++++++++++ .../epmet/service/impl/ProjectCategoryServiceImpl.java | 2 ++ 10 files changed, 35 insertions(+), 3 deletions(-) diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueTagsFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueTagsFormDTO.java index 8cb89dc4d7..908edfba19 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueTagsFormDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueTagsFormDTO.java @@ -43,6 +43,11 @@ public class IssueTagsFormDTO implements Serializable { */ private String name; + /** + * 是否禁用(enable:启用 disable:禁用) + */ + private String isDisable; + /** * 删除标识 0.未删除 1.已删除 */ diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java index 28e1522491..770c10cb99 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java @@ -37,7 +37,7 @@ import java.util.List; public interface IssueProjectCategoryDictDao extends BaseDao { /** - * @Description 客户分类列表查询,按分类升序排列 + * @Description 客户分类列表查询,按分类升序排列,查询未被禁用的 * @Author sun **/ List selectCustomerCategoryList(@Param("customerId") String customerId); diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueCategoryServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueCategoryServiceImpl.java index 724d256e34..2ca1c6a005 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueCategoryServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueCategoryServiceImpl.java @@ -208,6 +208,8 @@ public class IssueCategoryServiceImpl extends BaseServiceImpl { if (ca.getId().equals(cl.getId())) { entity.setCategoryPids(cl.getPids()); + entity.setCategoryCode(cl.getCategoryCode()); + entity.setIsDisable(cl.getIsDisable()); } }); entityList.add(entity); diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java index 6b8f05d845..86b6cb1305 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java @@ -123,7 +123,7 @@ public class IssueProjectCategoryDictServiceImpl extends BaseServiceImpl diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueTagsDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueTagsDao.xml index 5f134b85a3..592cdb43fb 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueTagsDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueTagsDao.xml @@ -70,7 +70,7 @@ - INSERT INTO issue_tags ( ID, CUSTOMER_ID, GRID_ID, ISSUE_ID, TAG_ID, TAG_NAME, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME ) + INSERT INTO issue_tags ( ID, CUSTOMER_ID, GRID_ID, ISSUE_ID, TAG_ID, TAG_NAME, IS_DISABLE, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME ) VALUES ( @@ -80,6 +80,7 @@ #{l.issueId}, #{l.tagId}, #{l.name}, + #{l.isDisable}, #{l.delFlag}, #{l.revision}, #{l.createdBy}, diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectCategoryDTOResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectCategoryDTOResultDTO.java index 17a4e51c20..8215a8850f 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectCategoryDTOResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectCategoryDTOResultDTO.java @@ -32,6 +32,11 @@ public class ProjectCategoryDTOResultDTO implements Serializable { */ private String pids; + /** + * 上级分类编码 + */ + private String parentCategoryCode; + /** * 分类编码,分类编码+customer_id唯一 */ @@ -52,4 +57,9 @@ public class ProjectCategoryDTOResultDTO implements Serializable { */ private Integer sort; + /** + * 是否禁用(enable:启用 disable:禁用) + */ + private String isDisable; + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectCategoryServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectCategoryServiceImpl.java index 2db7977d67..f2a12df324 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectCategoryServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectCategoryServiceImpl.java @@ -175,6 +175,8 @@ public class ProjectCategoryServiceImpl extends BaseServiceImpl { if (ca.getId().equals(cl.getId())) { entity.setCategoryPids(cl.getPids()); + entity.setCategoryCode(cl.getCategoryCode()); + entity.setIsDisable(cl.getIsDisable()); } }); entityList.add(entity); From a43dec39d7e8e665003d40c6dafcab90610301d8 Mon Sep 17 00:00:00 2001 From: wangchao Date: Sat, 20 Mar 2021 01:56:40 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=B3=A8=E9=87=8A=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/redis/IssueProjectTagDictRedis.java | 12 ++++++++++++ .../epmet/service/impl/ProjectTagsServiceImpl.java | 4 +++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java index 7e4d3b456a..dac93747f7 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java @@ -358,6 +358,18 @@ public class IssueProjectTagDictRedis { redisUtils.zSetAdd(key,o); } + /** + * @Description 给客户下的分类/标签批量增加/减少热度 + * param : + * key : 0 代表减一 1 代表加一 + * value : + * key : 某一客户下分类/标签的redisKey + * value : 需要修改的分类/标签 + * @param param + * @return void + * @author wangc + * @date 2021.03.20 01:04 + */ public void batchIncrScore(Map>> param){ if(CollectionUtils.isEmpty(param)) return; redisTemplate.executePipelined((RedisCallback) connection -> { diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTagsServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTagsServiceImpl.java index 4154c9bd24..87edc5e00b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTagsServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTagsServiceImpl.java @@ -41,6 +41,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.Arrays; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -142,8 +143,9 @@ public class ProjectTagsServiceImpl extends BaseServiceImpl replaceNews = new LinkedList<>(newIds); differentSet.setPlus(newIds.removeAll(orientIds) ? newIds : null); - differentSet.setMinus(orientIds.removeAll(newIds) ? orientIds : null); + differentSet.setMinus(orientIds.removeAll(replaceNews) ? orientIds : null); } Result result = issueClient.updateCitations(differentSet); if(!result.success()) throw new RenException(result.getInternalMsg()); From f8bec68b4e10b255b85423e02a57d24fa48070ea Mon Sep 17 00:00:00 2001 From: wangchao Date: Sat, 20 Mar 2021 02:16:17 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=B3=A8=E9=87=8A=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java index dac93747f7..997dfc8451 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java @@ -98,6 +98,7 @@ public class IssueProjectTagDictRedis { } IssueProjectCategoryDictEntity otherCategory = categoryDictDao.selectSingleByCustomerIdAndCategoryNameAndCategoryType(customerId, ModuleConstants.CATEGORY_NAME_OTHERS, null); + //是否传入的类别Id中只包含"其他"分类,因为自定义分类和默认分类排序规则不一样 boolean ifOtherOnly = null == otherCategory ? false : (!CollectionUtils.isEmpty(category) && category.size() == NumConstant.ONE && category.contains(otherCategory.getId()) ? true : false); Map> result = new HashMap<>(); From 8ed45e0ed0714f111729158f43ae73a9f3771bc1 Mon Sep 17 00:00:00 2001 From: wangchao Date: Sat, 20 Mar 2021 02:38:36 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=B3=A8=E9=87=8A=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/redis/IssueProjectTagDictRedis.java | 7 +++---- .../java/com/epmet/controller/ProjectTagsController.java | 8 ++++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java index 997dfc8451..0be8c5106d 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java @@ -128,10 +128,9 @@ public class IssueProjectTagDictRedis { result.put(ModuleConstants.CUSTOMIZED_TAG_CATEGORY_NAME,customizedResult); } - //默认、自定义标签,只要有一个是空就触发补偿 + //查询结果是空就触发补偿 //不信任缓存数据 - if(!CollectionUtils.isEmpty(result) && !CollectionUtils.isEmpty(result.get(ModuleConstants.DEFAULT_TAG_CATEGORY_NAME)) - && !CollectionUtils.isEmpty(result.get(ModuleConstants.CUSTOMIZED_TAG_CATEGORY_NAME))) + if(!CollectionUtils.isEmpty(result)) return result; @@ -155,7 +154,7 @@ public class IssueProjectTagDictRedis { * @Description FIXME 该方法保留,默认查询缓存,默认和自定义两种标签均按热度排序 * FIXME 如果缓存中没有相关数据,则进行补偿,返回的数据为:1、默认标签(分类排序) 2、自定义标签(热度排序) * FIXME 补偿机制均是在缓存中存储热度得分,因此在业务改变之前不要调用该方法 - * category为空,则补偿全部,返回默认标签和自定义标签 + * category为空,返回默认标签和自定义标签 * category仅包含"其他"这个分类的Id时,同上 * category不为空且不只有"其他"这个分类的Id时,则返回集合中的类别标签以及自定义标签 * 默认标签不按照热度排序,自定义标签按照热度排序 diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTagsController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTagsController.java index 80fad9fab5..870c50be7d 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTagsController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTagsController.java @@ -64,6 +64,14 @@ public class ProjectTagsController { return new Result().ok(data); } + /** + * @Description 保存项目与标签的关联并更新标签热度 + * @param dto + * @param token + * @return com.epmet.commons.tools.utils.Result + * @author wangc + * @date 2021.03.20 02:34 + */ @PostMapping("save") public Result save(@RequestBody ProjectTagHookFormDTO dto, @LoginUser TokenDto token){ dto.setCustomerId(token.getCustomerId());