瀏覽代碼

1、解决企业邀请同意后没有清楚缓存问题

rayson 1 年之前
父節點
當前提交
a39e4ddecc
共有 14 個文件被更改,包括 41 次插入24 次删除
  1. 1 1
      menduner/menduner-common/src/main/java/com/citu/module/menduner/common/util/LoginUserContext.java
  2. 1 1
      menduner/menduner-reward-api/src/main/java/com/citu/module/menduner/reward/enums/EasyRulesConstants.java
  3. 1 1
      menduner/menduner-reward-api/src/main/java/com/citu/module/menduner/reward/enums/OperationEnum.java
  4. 1 1
      menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/PointRuleTest.java
  5. 1 1
      menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/core/EasyRulesEngine.java
  6. 1 1
      menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/core/PointRule.java
  7. 1 1
      menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/core/PointRuleListener.java
  8. 1 1
      menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/rule/DynamicPointRule.java
  9. 1 1
      menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/rule/DynamicRule.java
  10. 1 1
      menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/rule/DynamicRuleAction.java
  11. 1 1
      menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/service/event/EventTrackServiceImpl.java
  12. 1 1
      menduner/menduner-reward-biz/src/test/java/com/citu/module/menduner/reward/service/Test.java
  13. 18 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/EnterpriseServiceImpl.java
  14. 11 11
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/invite/EnterpriseInviteRecordServiceImpl.java

+ 1 - 1
menduner/menduner-common/src/main/java/com/citu/module/menduner/common/util/LoginUserContext.java

@@ -11,7 +11,7 @@ import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exce
 /**
  * 登录用户上下文
  *
- * @author rayson
+ * @author Rayson
  **/
 public class LoginUserContext {
 

+ 1 - 1
menduner/menduner-reward-api/src/main/java/com/citu/module/menduner/reward/enums/EasyRulesConstants.java

@@ -1,7 +1,7 @@
 package com.citu.module.menduner.reward.enums;
 
 /**
- * @author rayson
+ * @author Rayson
  * @description EasyRulesConstants
  * @create 2024/6/18 上午10:39
  **/

+ 1 - 1
menduner/menduner-reward-api/src/main/java/com/citu/module/menduner/reward/enums/OperationEnum.java

@@ -3,7 +3,7 @@ package com.citu.module.menduner.reward.enums;
 /**
  * 逻辑操作符枚举
  *
- * @author rayson
+ * @author Rayson
  **/
 public enum OperationEnum {
     GREATER_THAN("GT", "%s > %s", "大于"),

+ 1 - 1
menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/PointRuleTest.java

@@ -10,7 +10,7 @@ import com.citu.module.menduner.reward.rule.DynamicRuleAction;
 import org.jeasy.rules.api.Facts;
 
 /**
- * @author rayson
+ * @author Rayson
  * @description PointRuleTest
  * @create 2024/6/6 上午10:59
  **/

+ 1 - 1
menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/core/EasyRulesEngine.java

@@ -24,7 +24,7 @@ import static com.citu.module.menduner.reward.enums.EasyRulesConstants.*;
  * EasyRules 工具类
  * (负责解析自定义json字符串中的condition和action内容,赋值给Mvel规则when、then)
  *
- * @author rayson
+ * @author Rayson
  **/
 @Slf4j
 public class EasyRulesEngine {

+ 1 - 1
menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/core/PointRule.java

@@ -7,7 +7,7 @@ import java.util.Map;
 /**
  * 积分规则 事实 fact
  *
- * @author rayson
+ * @author Rayson
  **/
 @Data
 public class PointRule extends RuleBase {

+ 1 - 1
menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/core/PointRuleListener.java

@@ -5,7 +5,7 @@ import org.jeasy.rules.api.Rule;
 import org.jeasy.rules.api.RuleListener;
 
 /**
- * @author rayson
+ * @author Rayson
  * @description PointRuleListener
  * @create 2024/6/27 上午10:24
  **/

+ 1 - 1
menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/rule/DynamicPointRule.java

@@ -13,7 +13,7 @@ import java.util.Map;
 /**
  * 动态积分规则
  *
- * @author rayson
+ * @author Rayson
  **/
 @Slf4j
 @Rule(name = "DynamicRule")

+ 1 - 1
menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/rule/DynamicRule.java

@@ -13,7 +13,7 @@ import java.util.Map;
 /**
  * 动态规则
  *
- * @author rayson
+ * @author Rayson
  **/
 @Slf4j
 @Rule(name = "DynamicRule")

+ 1 - 1
menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/rule/DynamicRuleAction.java

@@ -3,7 +3,7 @@ package com.citu.module.menduner.reward.rule;
 /**
  * 动态规则效验成功后的动作 接口
  *
- * @author rayson
+ * @author Rayson
  **/
 @FunctionalInterface
 public interface DynamicRuleAction<T> {

+ 1 - 1
menduner/menduner-reward-biz/src/main/java/com/citu/module/menduner/reward/service/event/EventTrackServiceImpl.java

@@ -36,7 +36,7 @@ import static com.citu.module.menduner.reward.enums.EasyRulesConstants.*;
 /**
  * 事件跟踪 Service 实现类
  *
- * @author rayson
+ * @author Rayson
  **/
 @Slf4j
 @Service

+ 1 - 1
menduner/menduner-reward-biz/src/test/java/com/citu/module/menduner/reward/service/Test.java

@@ -1,7 +1,7 @@
 package com.citu.module.menduner.reward.service;
 
 /**
- * @author rayson
+ * @author Rayson
  * @description Test
  * @create 2024/6/17 下午7:30
  **/

+ 18 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/EnterpriseServiceImpl.java

@@ -29,6 +29,7 @@ import com.citu.module.menduner.system.mq.producer.ESProducer;
 import com.citu.module.menduner.system.mq.producer.MdeVisitsProducer;
 import com.citu.module.menduner.system.util.ESOperateEnum;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
@@ -68,6 +69,10 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 
 
     @Override
+    @CacheEvict(cacheNames = {
+            RedisKeyConstants.MDE_ENTERPRISE_TREE,
+            RedisKeyConstants.ENTERPRISE_CHILDREN_IDS
+    }, allEntries = true)
     public Long createEnterprise(EnterpriseSaveReqVO createReqVO) {
         // 插入
         EnterpriseDO enterprise = BeanUtils.toBean(createReqVO, EnterpriseDO.class);
@@ -77,6 +82,10 @@ public class EnterpriseServiceImpl implements EnterpriseService {
     }
 
     @Override
+    @CacheEvict(cacheNames = {
+            RedisKeyConstants.MDE_ENTERPRISE_TREE,
+            RedisKeyConstants.ENTERPRISE_CHILDREN_IDS
+    }, allEntries = true)
     public void updateEnterprise(EnterpriseSaveReqVO updateReqVO) {
         // 校验存在
         validateEnterpriseExists(updateReqVO.getId());
@@ -87,6 +96,10 @@ public class EnterpriseServiceImpl implements EnterpriseService {
     }
 
     @Override
+    @CacheEvict(cacheNames = {
+            RedisKeyConstants.MDE_ENTERPRISE_TREE,
+            RedisKeyConstants.ENTERPRISE_CHILDREN_IDS
+    }, allEntries = true)
     public void deleteEnterprise(Long id) {
         // 校验存在
         validateEnterpriseExists(id);
@@ -113,7 +126,7 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 
     @Override
     @DataPermission(enable = false) // 禁用数据权限,避免建立不正确的缓存
-    @Cacheable(cacheNames = RedisKeyConstants.ENTERPRISE_CHILDREN_IDS, key = "#id")
+    @Cacheable(cacheNames = RedisKeyConstants.ENTERPRISE_CHILDREN_IDS, key = "#id",unless = "#result == null")
     public Set<Long> getChildEnterpriseIdListFromCache(Long id) {
         List<EnterpriseDO> children = getChildEnterpriseList(id);
         return convertSet(children, EnterpriseDO::getId);
@@ -156,6 +169,10 @@ public class EnterpriseServiceImpl implements EnterpriseService {
     }
 
     @Override
+    @CacheEvict(cacheNames = {
+            RedisKeyConstants.MDE_ENTERPRISE_TREE,
+            RedisKeyConstants.ENTERPRISE_CHILDREN_IDS
+    }, allEntries = true)
     public void updateParent(Long id, Long parentId) {
         EnterpriseDO enterprise = getEnterprise(id);
         if(null ==enterprise) {

+ 11 - 11
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/invite/EnterpriseInviteRecordServiceImpl.java

@@ -15,15 +15,15 @@ import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseUserB
 import com.citu.module.menduner.system.dal.dataobject.invite.EnterpriseInviteDO;
 import com.citu.module.menduner.system.dal.dataobject.invite.EnterpriseInviteRecordDO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
-import com.citu.module.menduner.system.dal.dataobject.user.MdeUserDO;
 import com.citu.module.menduner.system.dal.mysql.invite.EnterpriseInviteRecordMapper;
+import com.citu.module.menduner.system.dal.redis.RedisKeyConstants;
 import com.citu.module.menduner.system.enums.MendunerStatusEnum;
 import com.citu.module.menduner.system.enums.enterprise.EnterpriseUserTypeEnum;
 import com.citu.module.menduner.system.enums.invite.EnterpriseInviteTypeEnum;
 import com.citu.module.menduner.system.service.enterprise.EnterpriseService;
 import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
 import com.citu.module.menduner.system.service.person.info.PersonInfoService;
-import com.citu.module.menduner.system.service.user.MdeUserService;
+import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
@@ -110,6 +110,9 @@ public class EnterpriseInviteRecordServiceImpl implements EnterpriseInviteRecord
 
     @Override
     @DSTransactional
+    @CacheEvict(cacheNames = {
+            RedisKeyConstants.MDE_ENTERPRISE_TREE
+    }, allEntries = true)
     public void consent(String code) {
         LoginUser loginUser = LoginUserContext.get();
         Long enterpriseId = LoginUserContext.getEnterpriseId2(loginUser);
@@ -117,21 +120,21 @@ public class EnterpriseInviteRecordServiceImpl implements EnterpriseInviteRecord
 
         EnterpriseInviteDO invite = inviteService.getByCode(code);
 
-        if(EnterpriseInviteTypeEnum.COLLEAGUE.getType()
+        if (EnterpriseInviteTypeEnum.COLLEAGUE.getType()
                 .equals(invite.getType())) {
             // 邀请同事
 
             EnterpriseUserBindDO userBind = userBindService
                     .selectByEnterpriseIdAndUserId(invite.getEnterpriseId(), userId);
 
-            if(null != userBind) {
+            if (null != userBind) {
                 // 已加入该企业
                 throw exception(ENTERPRISE_INVITE_RECORD_EXIST);
             }
 
             // 获取用户信息
-            PersonInfoDO person =  personInfoService.getUserInfoByUserId(userId);
-            if(null == person) {
+            PersonInfoDO person = personInfoService.getUserInfoByUserId(userId);
+            if (null == person) {
                 // 用户信息不存在
                 throw exception(ENTERPRISE_INVITE_RECORD_PERSON_INFO_NOT_COMPLETE);
             }
@@ -154,7 +157,7 @@ public class EnterpriseInviteRecordServiceImpl implements EnterpriseInviteRecord
             userBindService.createUser(userBindDO);
 
 
-        }else {
+        } else {
 
             EnterpriseUserBindDO userBind = userBindService
                     .selectByEnterpriseIdAndUserId(enterpriseId, userId);
@@ -164,7 +167,7 @@ public class EnterpriseInviteRecordServiceImpl implements EnterpriseInviteRecord
                 // 不是管理员 不能操作加入
                 throw exception(ENTERPRISE_INVITE_RECORD_NOT_ADMIN);
             }
-            if(userBind.getEnterpriseId()
+            if (userBind.getEnterpriseId()
                     .equals(invite.getEnterpriseId())) {
                 // 自己加入自己
                 throw exception(ENTERPRISE_INVITE_RECORD_EXIST_ENTERPRISE);
@@ -188,8 +191,5 @@ public class EnterpriseInviteRecordServiceImpl implements EnterpriseInviteRecord
                         .code(invite.getCode())
                         .build()
         );
-
-
-
     }
 }