Browse Source

Merge branch '84-integrate' into 'develop'

84 integrate



See merge request !62

zhuyapeng 2 years ago
parent
commit
f7ad37dc7b

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

@@ -284,6 +284,13 @@ public class KeycloakUserController {
         return Response.buildFailure("500", "接收级别修改失败!");
     }
 
+    @SysLogIgnore
+    @GetMapping("/admin/user/custom")
+    public Response queryUserInformType(String userId){
+        return StringUtils.isEmpty(userId) ? Response.buildFailure("400","userI不能为空!")
+            : SingleResponse.of(userService.queryUserInformType(userId));
+    }
+
     @SysLogIgnore
     @GetMapping("/keycloak/oneself/tree")
     public Response queryOneselfDepartTree(@RequestHeader String userId) {

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

@@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
 import com.inspur.customer.client.keycloak.KeycloakService;
 import com.inspur.customer.client.org.SmsbDepartmentService;
 import com.inspur.customer.client.org.SmsbDepartmentUserService;
@@ -416,14 +415,16 @@ public class SmsbDepartmentServiceImpl extends ServiceImpl<SmsbDepartmentMapper
                 map.put(dep.getPath(), dep.getName());
             } else {
                 StringBuilder sb = new StringBuilder(dep.getName());
+                Long parentId = dep.getParentId();
                 while (true) {
-                    SmsbDepartmentDO parent = this.getById(dep.getParentId());
+                    SmsbDepartmentDO parent = this.getById(parentId);
                     if (parent != null) {
                         sb.insert(0,parent.getName()+"/");
                     }
                     if (parent == null || parent.getParentId() == null) {
                         break;
                     }
+                    parentId = parent.getParentId();
                 }
                 map.put(dep.getPath(), sb.toString());
             }

+ 23 - 1
smsb-customer-manager-app/src/main/java/com/inspur/customer/service/org/SmsbDepartmentUserServiceImpl.java

@@ -32,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @Author wangbo13
@@ -211,7 +212,7 @@ public class SmsbDepartmentUserServiceImpl extends ServiceImpl<SmsbDepartmentUse
                 .eq(SmsbDepartmentUserDO::getTenant, tenant)
                 .between(SmsbDepartmentUserDO::getInformLevel, 0, informLevel));
         queryWrapper.or(i->i.eq(SmsbDepartmentUserDO::getInformLevel , 9999)
-            .like(SmsbDepartmentUserDO::getInformType , ","+errorId+","));
+            .apply("FIND_IN_SET({0}, REPLACE(REPLACE(inform_type, '[', ''), ']', '')) > 0" , errorId));
         List<SmsbDepartmentUserDO> list = this.list(queryWrapper);
 
         List<SmsbSimpleUserCO> smsbSimpleUserList = Lists.newArrayListWithCapacity(list.size());
@@ -264,4 +265,25 @@ public class SmsbDepartmentUserServiceImpl extends ServiceImpl<SmsbDepartmentUse
         }
         return userList;
     }
+
+    @Override
+    public List<Integer> queryUserInformType(String userId) {
+        SmsbDepartmentUserDO user = super.getOne(Wrappers.<SmsbDepartmentUserDO>lambdaQuery()
+            .eq(SmsbDepartmentUserDO::getUserId, userId)
+            .last("LIMIT 1"));
+        if(Objects.nonNull(user) && StringUtils.isNotEmpty(user.getInformType())){
+            String informType = user.getInformType();
+            return Arrays.stream(informType.replaceAll("\\[|\\]|\\s", "").split(","))
+                .map(s -> {
+                    try {
+                        return Integer.parseInt(s);
+                    }catch (NumberFormatException e){
+                        return null;
+                    }
+                })
+                .filter(Objects::nonNull)
+                .collect(Collectors.toList());
+        }
+        return Lists.newArrayList();
+    }
 }

+ 3 - 3
smsb-customer-manager-app/src/main/java/com/inspur/customer/service/tenant/UserInformServiceImpl.java

@@ -50,8 +50,8 @@ public class UserInformServiceImpl implements UserInformService {
         log.info("tenant: {}", tenant);
         TenantExceptionInformStrategyCO informStrategy = tenantExceptionInformStrategyService.getTenantInformStrategyCache(tenant);
         informAddressee.setInformStrategy(informStrategy.getInformStrategy(String.valueOf(informLevel.getId())));
-        // get additional user
-        switch (informLevel) {
+        // get additional user,代码注销,暂不处理超管用户
+        /*switch (informLevel) {
             case HINT: {
                 log.info("hint");
                 users.addAll(keycloakService.getUsersInRole("ROLE_SUPER_ADMIN"));
@@ -73,7 +73,7 @@ public class UserInformServiceImpl implements UserInformService {
                 log.info("not support");
                 throw new BizException("500", "类型错误");
             }
-        }
+        }*/
 
         log.debug("users:{}", users);
         List<SmsbSimpleUserCO> orgUserList = departmentUserService.listUserByInformLevel(tenant, org, informLevel.getId() , errorId);

+ 6 - 2
smsb-customer-manager-app/src/main/java/com/inspur/customer/service/wechat/WeChatServiceImpl.java

@@ -4,6 +4,7 @@ import com.inspur.customer.client.wechat.IWeChatService;
 import com.inspur.customer.context.HttpUrlConstant;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboService;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
@@ -25,9 +26,12 @@ public class WeChatServiceImpl implements IWeChatService {
     @Resource
     private RestTemplate restTemplate;
 
+    @Value("${msr.idms.top}")
+    private String MSR_IDMS_TOP;
+
     @Override
     public String queryTicket(String appKey, String userId, String authorization) {
-        String url = String.format(HttpUrlConstant.QUERY_TICKET, userId, appKey);
+        String url = String.format(HttpUrlConstant.QUERY_TICKET.replace("MSR_IDMS_TOP", MSR_IDMS_TOP), userId, appKey);
         HttpHeaders header = new HttpHeaders();
         header.add("Authorization", authorization);
         ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<String>(header), String.class);
@@ -37,6 +41,6 @@ public class WeChatServiceImpl implements IWeChatService {
 
     @Override
     public String askUser(String userId) {
-        return restTemplate.getForObject(String.format(HttpUrlConstant.ASK_USER, userId), String.class);
+        return restTemplate.getForObject(String.format(HttpUrlConstant.ASK_USER.replace("MSR_IDMS_TOP", MSR_IDMS_TOP), userId), String.class);
     }
 }

+ 8 - 0
smsb-customer-manager-client/src/main/java/com/inspur/customer/client/org/SmsbDepartmentUserService.java

@@ -128,4 +128,12 @@ public interface SmsbDepartmentUserService {
      * @return 部门用户列表
      */
     List<KeycloakUserCO> listUser(List<String> userIds);
+
+    /**
+     * 获取用户自定义设备故障原因枚举id集合
+     *
+     * @param userId
+     * @return
+     */
+    List<Integer> queryUserInformType(String userId);
 }

+ 2 - 2
smsb-customer-manager-client/src/main/java/com/inspur/customer/context/HttpUrlConstant.java

@@ -6,7 +6,7 @@ package com.inspur.customer.context;
  */
 public class HttpUrlConstant {
 
-    public static final String QUERY_TICKET = "https://msr.idms.top/prod-api/notice/ticket/%s/%s";
+    public static final String QUERY_TICKET = "https://MSR_IDMS_TOP/prod-api/notice/ticket/%s/%s";
 
-    public static final String ASK_USER = "https://msr.idms.top/prod-api/notice/ask/%s";
+    public static final String ASK_USER = "https://MSR_IDMS_TOP/prod-api/notice/ask/%s";
 }