ソースを参照

用户产品显示优化

wangyu 6 年 前
コミット
b70536bad5

+ 4 - 0
diagbotman-service/src/main/java/com/diagbot/client/UserServiceClient.java

@@ -3,6 +3,7 @@ package com.diagbot.client;
 import com.diagbot.client.hystrix.UserServiceHystrix;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.UserOrgDTO;
+import com.diagbot.entity.User;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -19,6 +20,9 @@ import java.util.Map;
 @FeignClient(value = "user-service", fallback = UserServiceHystrix.class)
 public interface UserServiceClient {
 
+    @PostMapping(value = "/user/getUserAuthStatus")
+    RespDTO<User> getUserAuthStatus(@RequestBody Long userId);
+
     @PostMapping(value = "/user/getUserAndOrg")
     RespDTO<Map<Long, UserOrgDTO>> getUserAndOrg(@RequestBody List<Long> userIds);
 

+ 8 - 0
diagbotman-service/src/main/java/com/diagbot/client/hystrix/UserServiceHystrix.java

@@ -3,8 +3,10 @@ package com.diagbot.client.hystrix;
 import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.UserOrgDTO;
+import com.diagbot.entity.User;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.List;
 import java.util.Map;
@@ -19,6 +21,12 @@ import java.util.Map;
 @Slf4j
 public class UserServiceHystrix implements UserServiceClient {
 
+    @Override
+    public RespDTO<User> getUserAuthStatus(@RequestBody Long userId) {
+        log.error("【hystrix】调用{}异常", "getUserAuthStatus");
+        return null;
+    }
+
     @Override
     public RespDTO<Map<Long, UserOrgDTO>> getUserAndOrg(List<Long> userIds) {
         log.error("【hystrix】调用{}异常", "getUserAndOrg");

+ 13 - 0
diagbotman-service/src/main/java/com/diagbot/entity/User.java

@@ -61,6 +61,18 @@ public class User implements Serializable {
      */
     private String username;
 
+    /**
+     * 认证状态: 0 未认证,1 已认证,2 认证中
+     */
+    private Integer authStatus;
+
+    public Integer getAuthStatus() {
+        return authStatus;
+    }
+
+    public void setAuthStatus(Integer authStatus) {
+        this.authStatus = authStatus;
+    }
 
     public Long getId() {
         return id;
@@ -137,6 +149,7 @@ public class User implements Serializable {
                 ", modifier=" + modifier +
                 ", password=" + password +
                 ", username=" + username +
+                ", authStatus="+ authStatus +
                 "}";
     }
 }

+ 3 - 8
diagbotman-service/src/main/java/com/diagbot/facade/LantoneProductFacade.java

@@ -14,6 +14,7 @@ import com.diagbot.entity.LantoneProduct;
 import com.diagbot.entity.OpenedProducts;
 import com.diagbot.entity.OpenedProductsIndex;
 import com.diagbot.entity.ServiceInfo;
+import com.diagbot.entity.User;
 import com.diagbot.entity.wrapper.OpendProductWrapper;
 import com.diagbot.entity.wrapper.ServiceInfoWrapper;
 import com.diagbot.enums.AccessTypeEnum;
@@ -250,19 +251,13 @@ public class LantoneProductFacade extends LantoneProductServiceImpl {
                 productLineDTO.setProductAudit(ProductAuditEnum.NotOpend.getKey());
             }
         }
-        RespDTO<Map<Long, UserOrgDTO>> mapRespDTO = userServiceClient.getUserAndOrg(userIdList);
+        RespDTO<User> mapRespDTO = userServiceClient.getUserAuthStatus(userId);
         if (mapRespDTO == null || !"0".equals(mapRespDTO.code)) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
                     "获取用户机构信息失败");
         }
-        Map<Long, UserOrgDTO> dataMap =mapRespDTO.data;
-        UserOrgDTO uo =dataMap.get(userId);
         Map map =new HashMap();
-        if(uo.getAuStatus() == null){
-            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
-                    "账号信息不完善");
-        }
-        map.put("userAuStatus",uo.getAuStatus());
+        map.put("userAuStatus",mapRespDTO.data.getAuthStatus());
         List list =new ArrayList();
         list.add(productLineDTOList);
         list.add(map);

+ 1 - 0
user-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -38,6 +38,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/user/index").permitAll()
                 .antMatchers("/user/getUserAndOrg").permitAll()
                 .antMatchers("/user/getUserByOrgName").permitAll()
+                .antMatchers("/user/getUserAuthStatus").permitAll()
                 .antMatchers("/user/resetPassword").permitAll()
                 .antMatchers("/user/verifyNoUsername").permitAll()
                 .antMatchers("/user/verifyExistUsername").permitAll()

+ 1 - 0
user-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -82,6 +82,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/user/resetPassword", request)
                 || matchers("/user/index", request)
                 || matchers("/user/getUserByOrgName", request)
+                || matchers("/user/getUserAuthStatus", request)
                 || matchers("/user/getUserAndOrg", request)
                 || matchers("/user/verifyNoUsername", request)
                 || matchers("/user/verifyExistUsername", request)

+ 3 - 0
user-service/src/main/java/com/diagbot/facade/UserFacade.java

@@ -1343,5 +1343,8 @@ public class UserFacade extends UserServiceImpl {
         return RespDTO.onSuc(res);
     }
 
+    public RespDTO<User> getUserAuthStatus(Long userId){
+        return RespDTO.onSuc(this.getById(userId));
+    }
 
 }

+ 7 - 0
user-service/src/main/java/com/diagbot/web/UserController.java

@@ -182,6 +182,13 @@ public class UserController {
         return RespDTO.onSuc(result);
     }
 
+    @PostMapping(value = "/getUserAuthStatus")
+    @SysLogger("getUserAuthStatus")
+    @ApiOperation(value = "远程调用,获取用户认证状态[by:wangyu]")
+    @ApiIgnore
+    RespDTO<User> getUserAuthStatus(@RequestBody Long userId) {
+        return userFacade.getUserAuthStatus(userId);
+    }
 
     @PostMapping(value = "/getUserByOrgName")
     @SysLogger("getUserByOrgName")