Эх сурвалжийг харах

Merge branch '71-integrate' into 'develop'

develop-20230309



See merge request !52

linwenhua 2 жил өмнө
parent
commit
9e18ff8909

+ 15 - 12
smsb-customer-manager-adapter/src/main/java/com/inspur/customer/web/controller/keyclaok/KeycloakUserController.java

@@ -96,7 +96,7 @@ public class KeycloakUserController {
     @Scheduled(cron = "0 0/10 * * * ?")
     public void askUserOppenId() {
         log.info("update wechat openId");
-        for (String userId : keycloakService.getUsersMap().keySet()) {
+        for (String userId : keycloakService.getUserMap().keySet()) {
             String oppenId = iWeChatService.askUser(userId);
             if (!StringUtils.isEmpty(oppenId)) {
                 SubscribeDto dto = new SubscribeDto();
@@ -107,7 +107,7 @@ public class KeycloakUserController {
         }
     }
 
-    @SmsbMethodLog(description = "密码重置" ,business = "密码重置")
+    @SmsbMethodLog(description = "密码重置" ,business = "用户【${credential.userLabel}】密码重置")
     @PutMapping("/admin/users/{userId}/resetPassword")
     public Response resetPassword(@PathVariable("userId") String userId , @RequestBody CredentialRepresentation credential){
         if(StringUtils.isEmpty(credential.getType()) || !credential.getType().equals(Constant.type)){
@@ -127,7 +127,8 @@ public class KeycloakUserController {
         logDto.setUserId(userId);
         logDto.setBusiness(3);
         logDto.setDescription("账号角色分配");
-        StringBuffer sbf = new StringBuffer("给用户:"+ keycloakService.getUserMap().get(usersRoleMappingDTO.getUserId()));
+        String userName = keycloakService.getUserMap().get(usersRoleMappingDTO.getUserId());
+        StringBuffer sbf = new StringBuffer("给用户:"+ (StringUtils.isNotEmpty(userName) ? userName : usersRoleMappingDTO.getUserId()));
         if(!usersRoleMappingDTO.getAddRoleList().isEmpty()){
             sbf.append(",分配角色:"+getRoleNameList(usersRoleMappingDTO.getAddRoleList()));
         }
@@ -156,10 +157,11 @@ public class KeycloakUserController {
         return keycloakService.queryUserCredentials(userId);
     }
 
-    @SysLogIgnore
+    @SmsbMethodLog(description = "OTP重置" ,business = "重置用户【${userName}】OTP")
     @DeleteMapping("/admin/users/{userId}/credentials/{credentialId}")
     public Response removeUserCredentials(@PathVariable("userId")String userId,
-                                          @PathVariable("credentialId")String credentialId){
+                                          @PathVariable("credentialId")String credentialId,
+                                          String userName){
         return keycloakService.removeUserCredentials(userId ,credentialId);
     }
 
@@ -190,7 +192,7 @@ public class KeycloakUserController {
     }
 
     @SmsbMethodLog(description = "新增账号",
-        business = "添加账号:${smsbUserAdd.username}到部门:${smsbUserAdd.departmentName}")
+        business = "新增账号【${smsbUserAdd.username}】到部门【${smsbUserAdd.departmentName}】")
     @PostMapping("/admin/users")
     public Response addKeyClaokUser(@RequestHeader String userId ,@Valid @RequestBody SmsbUserAdd smsbUserAdd){
         Response checkResponse = departmentService.checkOperationAuthority(userId, smsbUserAdd.getTenant());
@@ -199,7 +201,7 @@ public class KeycloakUserController {
     }
 
     @SmsbMethodLog(description = "账号分组",
-        business = "将账号:${smsbRegrouping.userId}添加到部门:${smsbRegrouping.departmentName}")
+        business = "将账号【${smsbRegrouping.userName}】添加到部门【${smsbRegrouping.departmentName}】")
     @PutMapping("/admin/users/regrouping")
     public Response regrouping(@RequestHeader String userId,
                                @Valid @RequestBody SmsbRegrouping smsbRegrouping){
@@ -209,10 +211,11 @@ public class KeycloakUserController {
         return departmentService.regrouping(smsbRegrouping);
     }
 
-    @SmsbMethodLog(description = "账号注销", business = "账号:${uId}注销")
+    @SmsbMethodLog(description = "账号注销", business = "注销账号【${userName}】")
     @DeleteMapping("/admin/users/{uId}")
     public Response enableSwitch(@RequestHeader String userId,
-                                 @PathVariable("uId") String uId){
+                                 @PathVariable("uId") String uId,
+                                 String userName){
         Response checkResponse = departmentService.checkOperationAuthority(userId, userService.getOneByUserId(uId).getTenant());
         if(!checkResponse.isSuccess()){return checkResponse;}
         if(userService.removeUser(uId)){
@@ -238,7 +241,7 @@ public class KeycloakUserController {
         return userService.migration(userMigration);
     }
 
-    @SmsbMethodLog(description = "账号启用/禁用", business = "账号:${switchDTO.userName}启用:${switchDTO.enabled}")
+    @SmsbMethodLog(description = "账号启用/禁用", business = "账号【${switchDTO.userName}】启用【${switchDTO.enabled}】")
     @PutMapping("/admin/users/enabled")
     public Response enableSwitch(@RequestHeader String userId,
                                  @RequestBody SwitchDTO switchDTO){
@@ -252,7 +255,7 @@ public class KeycloakUserController {
         return Response.buildFailure("500","账号启用/禁用失败!");
     }
 
-    @SmsbMethodLog(description = "账号名称修改", business = "用户:${userUpdate.userId}将名称修改为:${userUpdate.name}")
+    @SmsbMethodLog(description = "账号名称修改", business = "用户【${userUpdate.userId}】将名称修改为【${userUpdate.name}】")
     @PutMapping("/admin/users/update")
     public Response updateUserFirstName(@RequestHeader String userId ,
                                         @RequestBody SmsbUserUpdate userUpdate) {
@@ -267,7 +270,7 @@ public class KeycloakUserController {
         return Response.buildFailure("500", "用户名修改失败!");
     }
 
-    @SmsbMethodLog(description = "消息推送预警级别", business = "将用户账号:${levelUpdate.userName}消息推送预警级别改为:${levelUpdate.informName}")
+    @SmsbMethodLog(description = "消息推送预警级别", business = "将用户账号【${levelUpdate.userName}】消息推送预警级别改为【${levelUpdate.informName}】")
     @PutMapping("/admin/users/update/deviceExceptionLevel")
     public Response updateUserFirstName(@RequestHeader String userId,
                                         @RequestBody SmsbUserExceptionLevelUpdate levelUpdate) {

+ 2 - 12
smsb-customer-manager-app/src/main/java/com/inspur/customer/service/keycloak/KeycloakServiceImpl.java

@@ -270,18 +270,6 @@ public class KeycloakServiceImpl implements KeycloakService {
         }
         return keycloakUserCo;
     }
-    @Override
-    @Cacheable(value = "smsb:userList")
-    public Map<String, String> getUsersMap() {
-        Map<String, String> userMap = new HashMap<>();
-        realmResource.users().list().forEach(user ->{
-            if (user.getFirstName() != null && user.getLastName() != null && !"".equals(user.getLastName())) {
-                user.setUsername(user.getLastName() + user.getFirstName());
-            }
-            userMap.put(user.getId(),user.getUsername());
-        });
-        return userMap;
-    }
 
     @Override
     public Response addKeycloakGroup(String id , GroupRepresentation groupRepresentation) {
@@ -333,6 +321,7 @@ public class KeycloakServiceImpl implements KeycloakService {
     }
 
     @Override
+    @CacheEvict(value = "smsb:users" , allEntries = true)
     public Response updateUser(String userId, Object representation, Integer operateType) {
         UserResource userResource = realmResource.users().get(userId);
         UserRepresentation user = userResource.toRepresentation();
@@ -362,6 +351,7 @@ public class KeycloakServiceImpl implements KeycloakService {
     }
 
     @Override
+    @CacheEvict(value = "smsb:users" , allEntries = true)
     public Response removeUser(String userId) {
         realmResource.users().get(userId).remove();
         return Response.buildSuccess();

+ 2 - 0
smsb-customer-manager-app/src/main/java/com/inspur/customer/service/org/SmsbDepartmentServiceImpl.java

@@ -23,6 +23,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.beans.BeanUtils;
+import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
@@ -263,6 +264,7 @@ public class SmsbDepartmentServiceImpl extends ServiceImpl<SmsbDepartmentMapper
     }
 
     @Override
+    @CacheEvict(value = "smsb:users" , allEntries = true)
     public Response addKeyClaokUser(String userId ,SmsbUserAdd smsbUserAdd) {
         // 1、keycloak新增账号
         SingleResponse addUserResponse = service.addKeyClaokUser(smsbUserAdd);

+ 0 - 7
smsb-customer-manager-client/src/main/java/com/inspur/customer/client/keycloak/KeycloakService.java

@@ -86,13 +86,6 @@ public interface KeycloakService {
 
     void changePassword(String userId, String newPassword);
 
-    /**
-     * 获取当前releam下用户Map<id,name>
-     *
-     * @return
-     */
-    Map<String, String> getUsersMap();
-
     /**
      * 该租户下添加部门
      *

+ 2 - 0
smsb-customer-manager-client/src/main/java/com/inspur/customer/object/org/SmsbRegrouping.java

@@ -18,6 +18,8 @@ public class SmsbRegrouping extends OperationAuthority{
     @NotNull(message = "userId不能为空")
     private String userId;
 
+    private String userName;
+
     private Long departmentId;
 
     private String departmentName;