Преглед изворни кода

1、优化解决积分没有到账问题

rayson пре 7 месеци
родитељ
комит
e3f09066e0

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/user/MdeUserController.java

@@ -103,7 +103,7 @@ public class MdeUserController {
 
     @PutMapping("/update-status")
     @Operation(summary = "修改用户状态")
-    @PreAuthorize("@ss.hasPermission('menduner:system:mde-user::update')")
+    @PreAuthorize("@ss.hasPermission('menduner:system:mde-user:update')")
     public CommonResult<Boolean> updateUserStatus(@Valid @RequestBody MdeUserUpdateStatusReqVO reqVO) {
         mdeUserService.updateUserStatus(reqVO.getId(), reqVO.getStatus());
         return success(true);

+ 0 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/consumer/UserPointConsumer.java

@@ -29,7 +29,6 @@ public class UserPointConsumer implements RocketMQListener<UserPointSendMessage>
     private UserAccountRecordService accountRecordService;
 
     @Override
-    @DSTransactional
     public void onMessage(UserPointSendMessage message) {
         log.info("接收到队列消息[{}]", message);
         // 增加用户积分

+ 3 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/permission/MdeRoleServiceImpl.java

@@ -69,7 +69,7 @@ public class MdeRoleServiceImpl implements MdeRoleService {
         roleMapper.insert(role);
 
         // 3. 记录操作日志上下文
-        LogRecordContext.putVariable("mde-role", role);
+        LogRecordContext.putVariable("role", role);
         return role.getId();
     }
 
@@ -88,7 +88,7 @@ public class MdeRoleServiceImpl implements MdeRoleService {
         roleMapper.updateById(updateObj);
 
         // 3. 记录操作日志上下文
-        LogRecordContext.putVariable("mde-role", role);
+        LogRecordContext.putVariable("role", role);
     }
 
     @Override
@@ -120,7 +120,7 @@ public class MdeRoleServiceImpl implements MdeRoleService {
         permissionService.processRoleDeleted(id);
 
         // 3. 记录操作日志上下文
-        LogRecordContext.putVariable("mde-role", role);
+        LogRecordContext.putVariable("role", role);
     }
 
     /**

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/record/UserAccountRecordServiceImpl.java

@@ -48,7 +48,7 @@ public class UserAccountRecordServiceImpl implements UserAccountRecordService {
 
     @Override
     @DSTransactional
-    @Lock4j(keys = {"#userId"}, expire = 60000, acquireTimeout = 1000)
+    @Lock4j(keys = {"#userId"},  acquireTimeout = 6000)
     public void createPointRecord(Long userId,
                                   String url,
                                   String title,

+ 4 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/user/MdeUserServiceImpl.java

@@ -98,7 +98,7 @@ public class MdeUserServiceImpl implements MdeUserService {
         // 2.2 绑定默认角色
         mdePermissionService.assignUserRoleByDefault(user.getId(), MdeDefaultRoleEnum.MENDUNER_ENTERPRISE_ROLE);
         // 3. 记录操作日志上下文
-        LogRecordContext.putVariable("mde-user", user);
+        LogRecordContext.putVariable("user", user);
         return user.getId();
     }
 
@@ -185,7 +185,7 @@ public class MdeUserServiceImpl implements MdeUserService {
         mdeUserMapper.deleteById(id);
 
         // 3. 记录操作日志上下文
-        LogRecordContext.putVariable("mde-user", user);
+        LogRecordContext.putVariable("user", user);
     }
 
     @VisibleForTesting
@@ -414,8 +414,8 @@ public class MdeUserServiceImpl implements MdeUserService {
         mdeUserMapper.updateById(updateObj);
 
         // 3. 记录操作日志上下文
-        LogRecordContext.putVariable("mde-user", user);
-        LogRecordContext.putVariable("mde-newPassword", updateObj.getPassword());
+        LogRecordContext.putVariable("user", user);
+        LogRecordContext.putVariable("newPassword", updateObj.getPassword());
     }
 
 

+ 13 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/user/UserAccountServiceImpl.java

@@ -1,6 +1,7 @@
 package com.citu.module.menduner.system.service.user;
 
 
+import cn.hutool.extra.spring.SpringUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.lock.annotation.Lock4j;
 import com.citu.framework.common.pojo.PageResult;
@@ -49,9 +50,9 @@ public class UserAccountServiceImpl implements UserAccountService {
 
     @Override
     @DSTransactional
-    @Lock4j(keys = {"#userId"}, expire = 60000, acquireTimeout = 1000)
+    @Lock4j(keys = {"#userId"}, acquireTimeout = 3000)
     public UserAccountDO createUserAccountIfAbsent(Long userId) {
-        UserAccountDO accountDO = userAccountMapper.selectByUserId(userId);
+        UserAccountDO accountDO = get(userId);
         if (null != accountDO) {
             return accountDO;
         }
@@ -71,6 +72,15 @@ public class UserAccountServiceImpl implements UserAccountService {
 
     @Override
     public UserAccountDO get() {
-        return createUserAccountIfAbsent(LoginUserContext.getUserId());
+        return getSelf().createUserAccountIfAbsent(LoginUserContext.getUserId());
+    }
+
+    /**
+     * 获得自身的代理对象,解决 AOP 生效问题
+     *
+     * @return 自己
+     */
+    private UserAccountServiceImpl getSelf() {
+        return SpringUtil.getBean(getClass());
     }
 }